Lucene不匹配具有大写字符的字符串

Lucene不匹配具有大写字符的字符串,lucene,character,standardanalyzer,Lucene,Character,Standardanalyzer,我正在使用Lucene搜索引擎(v36)和StandardAnalyzer。我使用多字段查询器 我的一个字段被设置为未分析,因为它是包含字母数字字符和点的版本名。如果此字段包含大写字符,则搜索不会找到任何结果。有什么想法吗 详情: 该字段包含如下值: 版本1.26.12.测试a 版本1.26.12.测试b v1.2 版本1.虚拟 我的搜索将返回上面三个示例的结果,但不会返回最后一个示例的结果 我根本没有定制Lucene,只是我用Collections.emptySet()绕过了标准的stop

我正在使用Lucene搜索引擎(v36)和StandardAnalyzer。我使用多字段查询器

我的一个字段被设置为未分析,因为它是包含字母数字字符和点的版本名。如果此字段包含大写字符,则搜索不会找到任何结果。有什么想法吗

详情:

该字段包含如下值:

  • 版本1.26.12.测试a
  • 版本1.26.12.测试b
  • v1.2
  • 版本1.虚拟
我的搜索将返回上面三个示例的结果,但不会返回最后一个示例的结果

我根本没有定制Lucene,只是我用Collections.emptySet()绕过了标准的stopwords

非常感谢。
Dimitri

我相信,如果您将字段标记为未分析,它将按原样存储,但会使用小写过滤器(以及其他请参见链接)。因此,如果搜索“version1.Dummy”,您的查询字符串可能是“version1.Dummy”,它与存储的字符串不匹配。

Hi,谢谢您的回答。这是有道理的,但不幸的是,这并不能解决问题。搜索version1.dummy不会检索任何数据,但version1。?ummy会检索。我该怎么办?如果没有分析字段,您应该确保您的查询字符串没有抛出任何
QueryAnalyzer