2015-08-26 70 views
1

我目前正在阅读Apache Lucene的一些教程。我对索引的工作方式有疑问,我无法找到答案。Apache Lucene搜索程序

给定一组我想索引的文档,并用字符串进行搜索。看来Lucene程序应该索引所有这些文件,然后每次程序运行时搜索输入的搜索字符串。这不会导致性能问题?或者我错过了什么?

回答

1

不,这将是非常非典型的建立一个新的索引,每次你运行该程序。

许多教程和例子使用RAMDirectory,也许这是混淆来自何处。 RAMDirectory完全在内存中创建索引。这对于演示和教程非常有用,因为您不必担心文件系统或任何废话,并且它确保您从一开始就处于可预测的空白状态。

实际上,你通常不会使用它。相反,在第一次创建它之后,您会使用directory on the file systemopen an existing index,而不是每次运行该程序时都创建一个新索引。

+0

非常感谢femtoRgon。这就说得通了。 – nishanth