Luke Lucene QueryParser 区分大小写
在 Luke 中,如果我输入搜索表达式 docfile:Tomatoes.jpg*
,则解析的查询为 docfile:Tomatoes.jpg*
。当搜索表达式为 docfile:Tomatoes.jpg
(无星号 *)时,解析的查询为带有小写“t”的 docfile:tomatoes.jpg
。
- 为什么?
- 我怎样才能改变这个?
顺便说一句,使用 org.apache.lucene.analysis.standard.StandardAnalyzer。
In Luke, if I enter the search expression docfile:Tomatoes.jpg*
the parsed query is docfile:Tomatoes.jpg*
. When the search expression is docfile:Tomatoes.jpg
, (no asterisk *) the parsed query is docfile:tomatoes.jpg
with a lowercase 't'.
- Why?
- How can I change this?
BTW, using org.apache.lucene.analysis.standard.StandardAnalyzer.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
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。StandardAnalyzer
usesLowerCaseFilter
which means it lowercases your queries and data. This is described in the Javadocs http://lucene.apache.org/java/3_0_1/api/core/org/apache/lucene/analysis/standard/StandardAnalyzer.html.If I remember correctly
WhitespaceAnalyzer
does not lowercase, but verify it suits your needs http://lucene.apache.org/java/3_0_1/api/core/org/apache/lucene/analysis/WhitespaceAnalyzer.html.对于 Lucene 5.3.0,该问题通过使用 SimpleAnalyzer 得到解决。
示例:
最后,使用相同的分析器来构建索引和搜索。
For Lucene 5.3.0 the problem was solved by using the SimpleAnalyzer.
Example:
Finally, use the same analyzer for building the index and searching.