我有Lucene .Net索引(目前運行的版本是2.9.2,但我很快就會升級到新的3.0.3)。TermPositions如何在lucene中工作?
對於搜索性能問題,我需要創建從DocId到應用程序ID的內存映射 - 所以我不需要從索引中獲取存儲值(搜索結果可能會返回數以千計的文檔...)。由於我有很多索引迭代,我需要更新\重新創建這個映射很多次 - 所以我需要快速完成。
我看到this great article試圖解決這個問題,並通過使用Lucene的FieldCache
機制檢索結果或在唯一索引字段上使用TermPositions
枚舉比較時間。正如作者所說,確實使用TermPositions
創建映射比使用Lucene的FieldCache
快得多,但它對我理解爲什麼非常重要。有人向我解釋TermPositions
和FieldCache
在scenene後面做了什麼?