我正在爲使用Lucene.net工作的應用程序編制一大組日誌文件。現在我正在爲每個條目解析我的日誌文件(即,條目可以跨越多行,直到下一個日誌條目),並將每個日誌條目添加爲Lucene中的文檔。在Lucene中擁有更多更小的記錄或更少的更大記錄會更好嗎?
每個文檔都包含日誌條目(已分析)和其他一些字段(只是存儲),如日誌行時間,日誌行號和來自哪種日誌。我還給每個日誌條目文檔指導一個日誌條目映射到原始源文檔,我可以通過行號重新排列它們。
雖然我喜歡能夠在索引中搜索每行條目的粒度(我可以通過關閉指定每個日誌文件的guid來重建原始文檔),但我很好奇這種類型的指數創造將是可持續的。事實上,我已經擁有了2500萬個條目,代表了來自一年的日誌。我的搜索速度仍然非常快,我可以在一兩秒鐘內搜索這2500萬條記錄。
文檔較少但每個文檔較大會更好嗎?有關係嗎?當我有5000萬條目時,我會遇到Lucene的性能瓶頸嗎? 1億? 5億?如果我只對每個日誌文件進行索引,如果我估計每個日誌文件大約有1000-20000行,那麼我可能會減少3個數量級的文檔。
謝謝,我會感到驚訝,如果有一個很大的區別!這很好聽 – devshorts 2012-02-23 19:41:53