【问题标题】:problem with Lucene's automagical query conversionLucene的自动查询转换问题
【发布时间】:2011-08-25 11:53:04
【问题描述】:

最近我开始使用 Lucene。然而,几天后我发现我以字符串形式提供的查询被 Lucene 转换为更通用的查询。

例子:

MY QUERY: "want to go" (including " as I'm searching whole phrases)
QUERY OBJECT created from my query (.toString): text:"want ? go"

NUMBER OF RESULTS for texts:
I want to go out today -> 1 result - correct
I want sdfto go out today -> 1 result - incorrect, should be 0

我想匹配 execly 短语“想去”而不是“想 whatever 去”。我注意到只有单词“to”和“a”被替换为“?”。

我的问题是为什么 Lucene 会更改我提供的查询,以及如何强制 Lucene 询问我的查询(未更改)?

此外,我正在使用 StandardAnayzer(索引和查询)。

【问题讨论】:

    标签: java lucene


    【解决方案1】:

    to 是一个stop word,这意味着它没有被一些analyzers [包括StandardAnalyzer] 索引和搜索,因为它通常对搜索没有用处。如果您不希望它被“停止”,您将需要使用不同的分析器[用于索引和搜索],但它可能会产生有价值的结果。
    您还可以从STOP_WORDS字段中删除“to”一词

    重要提示:您的索引分析器和搜索分析器应保持一致,包括 STOP_WORDS 字段!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 2015-08-03
      • 1970-01-01
      相关资源
      最近更新 更多