【问题标题】:Lucene 4.9: Create temporary Directory with DocumentsLucene 4.9:使用文档创建临时目录
【发布时间】:2015-01-30 23:57:26
【问题描述】:

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

我想知道最好的方法是什么。在将数据索引到 NORMAL 时,我使用了一个对标记执行词干提取的分析器(EnglishAnalyzer);也并非所有字段都实际存储,即,其中一些仅被索引,但它们的值未存储在 Directory NORMAL 中。到目前为止很好。

  1. 但是,如果我现在获取此类文档的一个子集,我稍后会使用 IndexReader 阅读这些文档,并将它们读到 TEMP 目录中,例如是否也适合使用 EnglishAnalyzer 或者它是否会导致重新提取已经词根化了?
  2. 而且,如果一个字段根本没有存储,我想它不能用于将它添加到 TEMP 中,对吧?

【问题讨论】:

    标签: apache lucene directory temporary


    【解决方案1】:
    • 1:适合重新分析。该字段的存储表示不是词干、标记或其他任何内容。这只是原始数据。

    • 2:通常是这样。如果一个字段没有被存储,你就不能把它取出来。从技术上讲,如果在索引时设置了正确的参数并且你很顽强,你可能能够重建该字段的有损版本。当然,当您可以只存储字段时,不推荐它。

    不过,这读起来有点像XY problem。你确定没有更简单的方法来做你想做的任何事情吗?也许是filtering

    【讨论】:

    • 我问这个是因为我在目录 NORMAL 中有很多文档,现在我需要获取仅出现在文档子集中的那些术语的总术语频率(由用户选择)。所以这可能是一个 XY 问题,我不知道,但我认为用这个文档子集创建另一个临时目录是一种方法,不是吗?谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2017-01-24
    • 2017-10-06
    • 1970-01-01
    • 2018-02-24
    • 1970-01-01
    相关资源
    最近更新 更多