我正在索引大約100M文檔,這些文檔包含幾個字符串標識符和一百個左右的numaric術語..我不會進行範圍查詢,所以我沒有dugg對Numaric Field太深,但我不認爲它在這裏選擇正確。Lucene(.NET)文檔結構和性能建議
我的問題是,當我開始向我的查詢添加OR條件時,查詢性能迅速下降..所有我的查詢都是在特定的numaric條件下..所以文檔看起來像StringField:[someString]和N DataField:[someNumber ]然後我用DataField來查詢它:((+ 1 +(2 3))(+75 +(3 522))(+99 +88 +(102 155 199)))。
目前這些查詢需要大約7到16秒在我的筆記本電腦上運行..我想確保這真的是他們能做的最好的..我願意接受有關字段結構和查詢結構的建議:-)。
感謝
喬希
PS:我已經讀了關於這裏的所有其他Lucene的性能進行討論,並在Lucene的維基和清醒imiagination ......我有點進一步下跌的兔子洞那麼...
我想在答案可能之前需要更多信息。也許關於你已經嘗試過的一些信息。你有沒有可用的分析工具?如果不是,你認爲你的問題是I/O還是CPU限制?問題似乎是查詢綁定,還是結果檢索綁定?很多問題,但沒有答案... – 2010-05-15 18:14:23
我不確定它的IO/CPU相關,我將相同的索引移動到另一個盒子(Core 2 Quad QX6600)並且結果相同。即使在10,000 RPM猛禽的結果是一樣的......當它住在服務器硬件上時,速度可能會加快。 這個問題不是結果限制,我做了一個「GetCount」收集器,它只是在每次擊中時增加一個int。這就是我在做我的時間測試.. 也只有1200個術語謝謝LUKE)我的FieldCache在2或3個查詢中加載,所以我沒有獲得任何內容:-P – 2010-05-16 12:46:44