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

查询:A4RER- *

我已经使用了WhitespaceAnalyzer(较早的StandardAnalyzer),但是...查询适用于“ A4RER *”,但不适用于“ A4RER- *” :(
我已经在Google上搜索了很多,但仍然找不到解决方案。有没有简单的方法可以强制它工作?

感谢您的任何提示/帮助/片段/任何东西

最佳答案

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

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

为此:“查询:A4RER?*”

07-27 21:17