Luke Lucene QueryParser案例敏感性

时间:2011-05-18 16:41:11

标签: lucene luke

在Luke中,如果我输入搜索表达式docfile:Tomatoes.jpg*,则解析的查询为docfile:Tomatoes.jpg*。当搜索表达式为docfile:Tomatoes.jpg时,(没有星号*),解析后的查询为docfile:tomatoes.jpg,小写为“t”。

  1. 为什么?
  2. 我该如何更改?
  3. BTW,使用org.apache.lucene.analysis.standard.StandardAnalyzer。

2 个答案:

答案 0 :(得分:4)

StandardAnalyzer使用LowerCaseFilter,这意味着它会缩小您的查询和数据。这在Javadocs http://lucene.apache.org/java/3_0_1/api/core/org/apache/lucene/analysis/standard/StandardAnalyzer.html中有描述。

如果我没记错,WhitespaceAnalyzer不会小写,但要验证它是否符合您的需求http://lucene.apache.org/java/3_0_1/api/core/org/apache/lucene/analysis/WhitespaceAnalyzer.html

答案 1 :(得分:1)

对于Lucene 5.3.0,使用SimpleAnalyzer解决了问题。

示例:

Analyzer analyzer = new org.apache.lucene.analysis.core.SimpleAnalyzer();

最后,使用相同的分析器构建索引和搜索。