当我使用Luke使用标准分析器搜索我的Lucene索引时,我可以看到我搜索的字段包含MY_VALUE形式的值.当我搜索字段:"MY_VALUE"但是,查询被解析为字段:"my value"
是否有一种简单的方法来转义下划线(_)字符,以便它搜索它?
编辑:
4/1/2010太平洋标准时间上午11:08
我认为Lucene 2.9.1的令牌化程序中存在一个错误,之前可能存在错误.加载Luke并尝试搜索"BB_HHH_FFFF5_SSSS",当有数字时,返回以下标记:
"bb hhh_ffff5_ssss"
经过一些测试,我发现这是因为数字.如果我输入
"BB_HHH_FFFF_SSSS",我明白了
"bb hhh ffff ssss"
此时,我倾向于使用tokenizer bug,除非该数字的存在应该具有此行为,但我不明白为什么.
谁能证实这一点?
您似乎没有使用 StandardAnalyzer 来索引该字段。在 Luke 中,您需要选择用于索引该字段的分析器,以便正确匹配 MY_VALUE。
顺便说一句,您也许可以使用关键字分析器来匹配 MY_VALUE。