- 博客(4)
- 收藏
- 关注
原创 揭开lucene模糊检索的面纱
lucene中的模糊检索包括:前缀查询、正则查询、通配符查询、字符类型范围查询,它们的实现原理类似,都是基于一个叫做“确定性有穷自动机(Deterministic Finite Automaton)”实现的,简称DFA。有穷自动机分为确定型有穷自动机(DFA)跟不确定型有穷自动机(NFA)。这两者一般作为正则表达式的引擎存在。正则表达式规则很好理解,但是正则表达式中的?,*,.等只是一种标识,并不...
2020-04-01 00:51:33
2089
1
原创 Lucene数据存储实现:行存&列存
lucene数据存储格式Lucene作为最强大的开源的全文检索引擎,其倒排索引机制可以快速的根据term值找到docid,此外lucene也可以保存明细数据,通过docid将明细数据返回,并且有两种方式-行存、列存。一、一次查询的流程 上图是lucene一次...
2020-03-23 10:17:07
1481
原创 Lucene可扩展性-数据写入
Lucene代码拥有很强的扩展性,很多的关键代码都提供了用户自定义方式,可以根据特定的场景自定义处理方式,这篇文章就探讨一下lucene在数据写入过程中有哪些可扩展的地方。下面是lucene数据写入的代码:自定义分词器一个分词器有以下几个属性:Filter : 分词过滤器 , 比如:LowerCaseFilterFactory,小写转换Tokenizer:分词处理器,用于具体...
2019-09-16 14:25:40
362
原创 基于lucene的数据列簇实现
背景'列簇'功能是一个较典型的存储需求。从名字中也可以看出其作用,就是将一张表中的不同的列的存储隔离开来,具体的说就是不同的列有不同的存储目录。在开源的世界列簇并不少见,常见的支持列簇的存储产品有hbase、RocksDB(columnfamily)等,列簇功能其实也成为了大数据存储组件的一个典型功能。本篇文章就探讨一下相关产品中'列簇'的实现原理。使用场景将不同的列分目录存储有...
2019-08-15 16:29:50
441
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人