在lucene查询中字段顺序是否重要?lucene查询中字段的顺序
例如,
Q =一& &乙& &Ç
比方说,一个出现在万份文件,B 10000,C在1000
,而结果将是不管您与A,B和C的顺序是否相同,以下查询的响应时间会有什么不同?
Ç& &乙& &一个
一个& &乙& &Ç
确实的Lucene/Solr的挑在空间和时间对于一个给定的查询而言最佳的查询执行计划?
在lucene查询中字段顺序是否重要?lucene查询中字段的顺序
例如,
Q =一& &乙& &Ç
比方说,一个出现在万份文件,B 10000,C在1000
,而结果将是不管您与A,B和C的顺序是否相同,以下查询的响应时间会有什么不同?
Ç& &乙& &一个
一个& &乙& &Ç
确实的Lucene/Solr的挑在空间和时间对于一个给定的查询而言最佳的查询执行计划?
如果查询是A AND B AND C
或C AND B AND A
不要紧,查询执行时间将是相同的。
另外,如果您执行AND操作,则需要将所有查询条件存在才能返回文档,因此文档频率将相同。
但是,术语频率会有所不同,因此得分。
根据定义,Lucene是“高性能的全功能文本搜索引擎库”。 分析每个术语出现的文档数很容易决定执行AND操作和Lucene的顺序,当然可以。
如果你有兴趣的算法,可以得到最佳的性能执行,并与最低基数术语之间,并继续直到一个最高。
通过这种方式,归功于排序后的发布列表[O(n + m),两个发布列表的n和m长度的合并算法]以及跳过指针,您可以遍历一个更小的数字的docIDs。