Lucene 4.9:使用Documents创建临时目录

时间:2014-12-02 16:39:55

标签: apache lucene directory temporary

我有一个FSDirectory,我们称之为NORMAL,它已包含许多索引的Document实例。现在,我想创建一个临时索引,即RAMDirectory和IndexReader / IndexSearcher,它包含以前索引的文档的子集(让我们调用此目录TEMP)。

我想知道最好的方法是什么。在将数据索引到NORMAL时,我使用一个在令牌上执行词干分析的分析器(EnglishAnalyzer);并非所有字段都实际存储,即,其中一些字段仅被索引,但它们的值不存储在目录NORMAL中。到目前为止还不错。

  1. 但是,如果我现在采用这些文档的一部分,我后来用IndexReader阅读,并将其读入TEMP目录,例如是否也适用于EnglishAnalyzer或是否会导致重新阻止已经阻止了令牌?
  2. 而且,如果一个字段根本没有存储,我想它不能用于将它添加到TEMP中吗?

1 个答案:

答案 0 :(得分:1)

  • 1:重新分析是合适的。存储的字段表示不是词干,标记化或其他任何内容。这只是原始数据。

  • 2:一般来说,这是对的。如果没有存储字段,则无法将其删除。从技术上讲,如果在索引时设置了正确的参数,并且您是顽强的,那么您可能能够重建该字段的有损版本。当然,当你可以存放田地时,不会推荐它。

但这有点像XY problem。你确定没有更简单的方法去做你想做的事情吗?也许是filtering