2013-08-30 105 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。