JAVA - Lucene搜索查询 - 带通配符的连字符

时间:2013-05-31 13:49:55

标签: search lucene wildcard hyphen

我遇到了Lucene(v3.5)搜索查询的巨大问题。我正在尝试使用包含连字符和通配符的查询来检索带连字符的字符串,例如: db中的名称: A4RER-88-22331 A4RER-22-32555 B3B8B-22-32555

查询:A4RER - *

我使用过WhitespaceAnalyzer(早期的StandardAnalyzer),但是...查询适用于“A4RER *”而不是“A4RER- *”:( 我已经google了很多,但仍然无法找到解决方案。是否有一种简单的方法可以强制它起作用?

感谢任何提示/帮助/代码段/任何内容

1 个答案:

答案 0 :(得分:1)

使用WildcardQuery时,请将连字符替换为问号。问号代表一个字符。

更改此项:“查询:A4RER - *”

对此:“查询:A4RER?*”