中文字符+数字+字母搜索问题

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
楼上正解。
Global site tag (gtag.js) - Google Analytics