使用索引排序加速连接
编辑使用索引排序加速连接编辑
索引排序可以有效地组织 Lucene 文档 ID(不要与 _id
混淆),从而提高连接(a AND b AND …)的效率。为了提高效率,连接依赖于这样一个事实:如果任何一个子句不匹配,则整个连接都不匹配。通过使用索引排序,我们可以将不匹配的文档放在一起,这将有助于有效地跳过与连接不匹配的大范围文档 ID。
这个技巧只适用于低基数字段。一个经验法则是,您应该首先对基数低且经常用于过滤的字段进行排序。排序顺序(asc
或 desc
)无关紧要,因为我们只关心将匹配相同子句的值放在一起。
例如,如果您要索引待售汽车,则按燃料类型、车身类型、品牌、注册年份和最后里程数进行排序可能会很有趣。