更新后,Lucene搜索无法正常工作

时间:2015-01-29 18:30:20

标签: search lucene

我正在使用Lucene 4.6 API。这是我正在努力解决的一个场景:

  1. 我在数据库中创建了一个对象,并使用以下命令将其编入Lucene:

    indexWriter.updateDocument(新术语(Indexer.FIELD_ID,id),doc,new StandardAnalyzer(Version.LUCENE_46));

  2. 其中Doc有一个文本字段。 (初始内容为:s-150129-00023 descriptionold admin addsdi admin editsdi initial unknown

    1. 我使用字符串decriptionold进行搜索,效果很好

    2. 我更新了数据库中的同一个对象,并更新了依次调用的描述

      indexWriter.updateDocument(new Term(Indexer.FIELD_ID,id),doc,new StandardAnalyzer(Version.LUCENE_46));

    3. 其中,Doc再次是包含内容的单个文本字段:(s-150129-00023 descriptionnew admin addsdi admin editsdi initial unknown

      1. 现在,当我进行搜索时,我确实找到了descriptionnew的匹配项 - 但我确实也获得了descriptionold的匹配项。我希望descriptionold不会返回任何匹配,但确实如此。
      2. 我确实在致电indexWriter.close()后致电updateDocument(), 我也尝试过调用forceMergeDeletes()waitMergeDeletes()等,但没有区别。

        关于我缺少什么的任何指示?

0 个答案:

没有答案