2013-08-30 57 views
1

在lucene查询中字段顺序是否重要?lucene查询中字段的顺序

例如,

Q =一& &乙& &Ç

比方说,一个出现在万份文件,B 10000,C在1000

,而结果将是不管您与A,B和C的顺序是否相同,以下查询的响应时间会有什么不同?

Ç& &乙& &一个

一个& &乙& &Ç

确实的Lucene/Solr的挑在空间和时间对于一个给定的查询而言最佳的查询执行计划?

回答

0

如果查询是A AND B AND CC AND B AND A不要紧,查询执行时间将是相同的。
另外,如果您执行AND操作,则需要将所有查询条件存在才能返回文档,因此文档频率将相同。
但是,术语频率会有所不同,因此得分。

0

根据定义,Lucene是“高性能的全功能文本搜索引擎库”。 分析每个术语出现的文档数很容易决定执行AND操作和Lucene的顺序,当然可以。

如果你有兴趣的算法,可以得到最佳的性能执行,并与最低基数术语之间,并继续直到一个最高。

通过这种方式,归功于排序后的发布列表[O(n + m),两个发布列表的n和m长度的合并算法]以及跳过指针,您可以遍历一个更小的数字的docIDs。