Search JAVA-Lucene搜索查询-带通配符的连字符
我对Lucene(v3.5)搜索查询有一个很大的问题。我正在尝试使用包含连字符和通配符的查询检索带有连字符的字符串,例如: 数据库中的名称: A4RER-88-22331 A4RER-22-32555 B3B8B-22-32555 查询:A4RER-* 我使用了WhitespaceAnalyzer(早期的StandardAnalyzer),但是。。。查询适用于“A4RER*”但不适用于“A4RER-*”:( 我已经在谷歌上搜索了很多,但仍然找不到解决方案。有没有一种简单的方法来强迫它工作Search JAVA-Lucene搜索查询-带通配符的连字符,search,lucene,wildcard,hyphen,Search,Lucene,Wildcard,Hyphen,我对Lucene(v3.5)搜索查询有一个很大的问题。我正在尝试使用包含连字符和通配符的查询检索带有连字符的字符串,例如: 数据库中的名称: A4RER-88-22331 A4RER-22-32555 B3B8B-22-32555 查询:A4RER-* 我使用了WhitespaceAnalyzer(早期的StandardAnalyzer),但是。。。查询适用于“A4RER*”但不适用于“A4RER-*”:( 我已经在谷歌上搜索了很多,但仍然找不到解决方案。有没有一种简单的方法来强迫它工作 感谢您
感谢您提供的任何提示/帮助/代码片段/任何内容使用通配符查询时,请用问号替换连字符。问号表示单个字符 更改此选项:“查询:A4RER-*”
对此:“查询:A4RER?*”您需要使用一个不会中断的标记器-。默认情况下,WhitespaceAnalyzer可能会中断-。是否作为一个不在这里的角色???您可以尝试escape和check吗?@bmargiles我还不太熟悉编写标记器。谢谢您的提示。我现在就开始“谷歌”如何编写自定义标记器。谢谢。@Jayendra Nope…这不起作用:(仍然没有使用转义连字符的sych查询结果。@B argulies-hmm。刚刚发现:它清楚地表明WhitespaceTokenizer不停在“-”处。现在我很困惑。无论如何,我都会尝试编写自己的标记器。