在通常情况下,搜索提示一般需要用到前缀查询,即:匹配以XXX开头的语句内容。也可以看作正则表达式的XXX*
如查询:中。
则提示应该显示:中国、中央、中间。。。等等。
Lucene中的PrefixQuery即满足此要求。但是在建索引的时候需要注意最好不要分词,否则搜索有问题。
应该改为:field = new Field("FIELD",indexString,Store.YES,Index.NOT_ANALYZED);
且发现一个很重要的问题:PrefixQuery搜索出来的分数都为1.0f。
可能是考虑到速度的原因,为此不考虑分数。
-