-
BulkScorer(二)(Lucene 9.6.0)
本篇文章我们继续介绍BulkScorer的其他子类,下图为BulkScorer主要的几个子类,其中DefaultBulkScorer的介绍可以见文章BulkScorer(一): 图1: ReqExclBulkScorer 实现逻辑 Re... -
BulkScorer(一)(Lucene 9.6.0)
本篇文章介绍在查询阶段,BulkScorer相关的知识点,在查询流程中的流程点如下红框所示: 图1: 父类BulkScorer BulkScorer类的定位是一个对满足查询条件的所有文档号进行收集的最初入口。在执行完该类的方法一后,Luc... -
段的多线程查询(一)(Lucene 9.6.0)
前段时间有个朋友问到我:对多个段进行查询时,为什么在定义IndexSearcher时使用了Executor后,相比较单个线程轮询方式查询相同的多个段,查询速度并没有提升,有时候还下降了?本篇文章会介绍多线程查询中的一些知识点,给与大家在解决性能问... -
IndexSortSortedNumericDocValuesRangeQuery (一)(Lucene 9.0.0)
我们先通过IndexSortSortedNumericDocValuesRangeQuery类的注释了解下这个Query。 图1: 图1中红框标注的注释说到,范围查询可以通过利用Index Sort来提高查询效率。如果查询条件的域field... -
PointRangeQuery(二)(Lucene 8.11.0)
本文承接PointRangeQuery(一),继续介绍数值类型的范围查询PointRangeQuery。 节点访问规则IntersectVisitor 上一篇文章中我们说到,在收集文档号的策略中,除了策略一,不管哪一种策略,他们的相同点都是... -
PointRangeQuery(一)(Lucene 8.11.0)
该系列文章开始介绍数值类型的范围查询PointRangeQuery,该类数据在Lucene中被称为点数据Point Value。 点数据按照基本类型(primitive type)可以划分IntPoint、LongPoint、FloatPoi... -
IndexSort(一)(Lucene 8.9.0)
段内排序IndexSort是Lucene在索引(Indexing)阶段提供的一个功能,该功能使得在执行flush、commit或者NRT操作后,新生成的段其包含的文档是有序的,即在索引阶段实现了文档的排序。 在之前的一些文章中已经简单的介绍了... -
GeoQuery(二)(Lucene 8.8.0)
GeoQuery(二)(Lucene 8.8.0) 在上一篇文章GeoQuery(一)中,我们基于下面的例子介绍了在GeoHash编码在Elasticsearch中的部分实现,我们继续介绍其剩余内容。 12latitude:32longitud... -
GeoQuery(一)(Lucene 8.8.0)
本系列文章将介绍下Elasticsearch中提供的几个地理查询(Geo Query)在Lucene层的相关内容。Elasticsearch 7.13版本中提供了以下的Geo Queries: geo_bounding_box query ge... -
DisjunctionMaxQuery(Lucene 8.9.0)
本系列的内容将会先介绍DisjunctionMaxQuery在Lucene中的实现原理,随后再介绍在Elasticsearch中的应用。我们先直接通过图1中DisjunctionMaxQuery的注释跟图2的构造函数来简单了解下这个Query的功...