【问题标题】:Why does lucene phrase search return empty results?为什么lucene短语搜索返回空结果?
【发布时间】:2016-02-27 02:02:37
【问题描述】:

我想在 Lucene 2.9 索引上运行短语搜索查询,但它不返回任何结果。该查询现在被精简为一个非常基本的查询,但它仍然没有帮助。我需要看哪里?

我失败的搜索查询是:

bodyText: "foo bar"

类似以下的查询可以工作:

bodyText: (+foo +bar)

但是最后一个查询不符合我们的目的,因为我需要一个正确的词组搜索,单词按连续顺序排列。

我正在使用 Luke 来测试 lucene 查询。

【问题讨论】:

  • 你是如何建立索引的?短语“foo bar”的意思是“术语 foo,紧跟术语 bar”,这意味着支持位置信息的分析器(很多都支持)。查询“+foo +bar”只是意味着“必须包含 foo 和 bar”,它们可以出现在任何地方,以任何顺序(并且在相同的位置......)

标签: lucene umbraco umbraco6


【解决方案1】:

可以肯定的是,您在使用 Luke 进行查询时使用的分析器是否与为您的内容编制索引时使用的分析器相同? Luke (v 1.0.1) 的默认值似乎是 KeywordAnalyzer,所以如果你用另一个分析器索引你的内容,例如StandardAnalyzer,然后尝试使用 KeywordAnalyzer 查询它可能不会给出预期的结果。

如果我在搜索时使用 StandardAnalyzer,我使用 StandardAnalyzer 和短语搜索在 Luke 中正常工作。

如果以上不是解决方案,您还可以发布您的索引集和索引器配置以及您正在索引的文本。这将允许重新创建问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-27
    相关资源
    最近更新 更多