Luke Lucene QueryParser 区分大小写

发布于 2024-11-08 13:18:11 字数 321 浏览 0 评论 0原文

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

  1. 为什么?
  2. 我怎样才能改变这个?

顺便说一句,使用 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'.

  1. Why?
  2. How can I change this?

BTW, using org.apache.lucene.analysis.standard.StandardAnalyzer.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

烟酉 2024-11-15 13:18:11

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 uses LowerCaseFilter 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.

嘴硬脾气大 2024-11-15 13:18:11

对于 Lucene 5.3.0,该问题通过使用 SimpleAnalyzer 得到解决。

示例:

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

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

For Lucene 5.3.0 the problem was solved by using the SimpleAnalyzer.

Example:

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

Finally, use the same analyzer for building the index and searching.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文