中文字符+数字+字母搜索问题
kisspycn
2009-08-27
IndexSearcher isearcher = new IndexSearcher(directory);
QueryParser parser = new QueryParser("fieldname",analyzer); parser.setDefaultOperator(QueryParser.AND_OPERATOR); Query query = parser.parse("测试1"); Hits hits = isearcher.search(query); 大家好,我遇到到中文加数字的搜索问题,请大家帮忙解决,谢谢, 如原文件:测试1001号 搜索关键字:测试 时,能检索到 搜索关键字:测试1 时,不能检索到 |
|
kisspycn
2009-08-31
没人遇到过这样的问题?
|
|
石建武
2009-09-01
我的理解是因为索引分词的原因。
|
|
xxq
2009-09-04
直接搜索是不能匹配的,问题是关键在你得先把要搜索的内容先分词掉,
如原文件:测试1001号 能匹配的关键字为 测试,1001,号 如:测试1,先分词为 测试, 1 这样就能够检索到了,1也不会跟1001数字匹配成功的, 所以在先分词后搜索测试和测试1是没有分别的 |
|
kinghongen
2009-09-20
楼上正解。
|