最新文章列表

FST源代码解读6——FST的读取

lucene fst 源代码 解读   在lucene的官方文档里,有读取的代码的介绍,直接用了一个Util类,代码如下,方法名字是:org.apache.lucene.util.fst.Util.get(FST<T>, IntsRef) /** Looks up the output for this input, or null if the input is not ac ...
suichangkele 评论(0) 有684人浏览 2019-12-17 20:33

FST源代码解读5——FST的压缩

lucene fst 源代码 解读    FST中最麻烦的其实是压缩,压缩的代码很难懂,必要性也不是很大(比如再词典表的存储的时候就没有使用压缩),所以我就仅把代码注释写上了,我估计有可能读的人不会很多,所以就不过多解释了.压缩的本质是对那些含有指向自己的arc的数量很多node编号做精简,有两种方式,或者是使用一个单独的对象记录这种节点的编号到位置的映射,在记录一个arc的指向的targe ...
suichangkele 评论(0) 有759人浏览 2019-12-17 18:23

FST源代码解读4——结束添加

lucene fst 源代码 解读   前面讲到调用FST.finish方法了,进入到这个阶段的前提是所有的term都已经被编译进fst了,也就是写入到bytes中了。看下代码如下: /** 当编译root节点之后调用,传入的是root节点的编号(或者是在bytes中的开始位置) */ void finish(long newStartNode) throws IOException { ...
suichangkele 评论(0) 有447人浏览 2019-12-17 17:32

FST源代码解读3——编译节点

上一篇看完了FST.Builder的代码了,这里写FST代码了。先看编译节点时是如何操作的,即org.apache.lucene.util.fst.FST.addNode(Builder<T>, UnCompiledNode<T>)方法: long addNode(Builder<T> builder, Builder.UnCompiledNode<T ...
suichangkele 评论(0) 有563人浏览 2019-12-17 16:50

FST源代码解读2——FST的生成

本篇博客介绍FST的生成。它使用的是生成器模式,因为FST的生成太复杂了,所以必须使用生成器模式,他的类是:org.apache.lucene.util.fst.Builder.Builder(INPUT_TYPE, int, int, boolean, boolean, int, Outputs<T>, boolean, float, boolean, int),代码如下: /* ...
suichangkele 评论(0) 有804人浏览 2019-12-17 13:56

Lucene中文分词和高亮显示

1. 中文分词 2. 高亮显示 New maven project -> Create a simple project -> Group Id: com.andrew.lucene Artifact Id: Lucene05 Version: 0.0.1-SNAPSHOT Packaging: jar pom.xml & ...
andrew7676 评论(0) 有502人浏览 2019-04-08 11:45

Lucene其他查询方式

1. 指定项范围查询TermRangeQuery 2. 指定数字范围查询NumericRangeQuery 3. 指定字符串开头搜索PrefixQuery 4. 组合查询BooleanQuery New maven project -> Create a simple project -> Group Id: com.andrew.lucene Arti ...
andrew7676 评论(0) 有399人浏览 2019-04-08 11:41

Lucene搜索功能

1. 对特定项搜索 2. 查询表达式:QueryParser 3. 分页实现 New maven project -> Create a simple project -> Group Id: com.andrew.lucene Artifact Id: Lucene03 Version: 0.0.1-SNAPSHOT Packagin ...
andrew7676 评论(0) 有323人浏览 2019-04-08 11:38

Lucene构建索引

1. 添加、删除、修改文档 New maven project -> Create a simple project -> Group Id: com.andrew.lucene Artifact Id: Lucene02 Version: 0.0.1-SNAPSHOT Packaging: jar pom.xml < ...
andrew7676 评论(0) 有547人浏览 2019-04-08 11:32

Lucene简介与实现

1. Lucene简介 Lucece官网:http://lucene.apache.org/ 2. Lucene实现 New maven project -> Create a simple project -> Group Id: com.andrew.lucene Artifact Id: Lucene01 Ver ...
andrew7676 评论(0) 有356人浏览 2019-04-08 10:22

Lucene索引文件查看器luke

工程地址 https://github.com/DmitryKey/luke
keren 评论(0) 有530人浏览 2019-03-25 16:15

lucene中的PackedInts源码解读(3)-PACKED格式

继续回到最开始的获得mutable的代码那里去 public static Mutable getMutable(int valueCount, int bitsPerValue, PackedInts.Format format) { assert valueCount >= 0; switch (format) { case PACKED_SIN ...
suichangkele 评论(0) 有789人浏览 2018-07-28 17:06

lucene中的PackedInts源码解读(2)-Packed64SingleBlock

紧接上一篇文章,介绍一下Packed64SingleBlock.create方法。 public static Packed64SingleBlock create(int valueCount, int bitsPerValue) { switch (bitsPerValue) {//这个方法里面会根据bitPerValue来查看使用哪一个类,我们看看前几个吧。 ...
suichangkele 评论(0) 有513人浏览 2018-07-27 19:45

lucene中的PackedInts源码解读-1

之前在看lucene4.x的源码的时候,老是遇见packedInts这个类,当时没有看懂,所以这个周一没事做又看了一下,茅塞顿开,看懂了,记个笔记,装一下B。如果读者认为我的博客中含有错误,请联系我,我的qq是1308567317,以免误人子弟。 顺便说一下,我这里看的是lucene6.6.0的代码。 之前阿帅写个关于博客是写PackedInts,不过他仅仅写了PackedInts的思路和好 ...
suichangkele 评论(0) 有860人浏览 2018-07-27 19:45

Elasticsearch如何检索数据

我们都知道Elasticsearch是一个全文检索引擎,那么它是如何实现快速的检索呢? 传统的数据库给每个字段都存储成一个单个值,对于全文检索而言,这样的存储是低效的。举个例子,我有一个大文本字段,存到数据库里面只能是一个值,如果想要检索这个大文本字段里面的任何一个词,数据库如何实现? 只能通过like模糊查询来实现,先不说性能低,这对于一个搜索引擎是远远不够的。 针对上面数据库的不足,所以才出 ...
qindongliang1922 评论(0) 有978人浏览 2018-03-14 20:11

solr的facet源码解读(四)——facet.field之非数字单值域类型

上一篇博客中写了单值域数字类型的域是如何做facet的,这一篇写单值域的非数字类型的facet。他的思路是分开多个段进行收集,在收集后最后再进行聚 ...
suichangkele 评论(0) 有742人浏览 2018-02-19 19:15

最近博客热门TAG

Apache(33931) Lucene(5053) Hadoop(5049) nginx(3449) vim(3262) GCC(2954) memcached(2625) jfreechart(1688) Django(1602) Zend(1413) ActiveMQ(1398) Grails(1374) ActiveRecord(1349) OpenSource(1236) Emacs(870) Glassfish(858) lighttpd(810) rubygems(716) GAE(631) Blend(516)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics