2015-08-26 72 views
1

我目前正在閱讀Apache Lucene的一些教程。我對索引的工作方式有疑問,我無法找到答案。Apache Lucene搜索程序

給定一組我想索引的文檔,並用字符串進行搜索。看來Lucene程序應該索引所有這些文件,然後每次程序運行時搜索輸入的搜索字符串。這不會導致性能問題?或者我錯過了什麼?

回答

1

不,這將是非常非典型的建立一個新的索引,每次你運行該程序。

許多教程和例子使用RAMDirectory,也許這是混淆來自何處。 RAMDirectory完全在內存中創建索引。這對於演示和教程非常有用,因爲您不必擔心文件系統或任何廢話,並且它確保您從一開始就處於可預測的空白狀態。

實際上,你通常不會使用它。相反,在第一次創建它之後,您會使用directory on the file systemopen an existing index,而不是每次運行該程序時都創建一個新索引。

+0

非常感謝femtoRgon。這就說得通了。 – nishanth