为了账号安全,请及时绑定邮箱和手机立即绑定

lucene搜索问题?

lucene搜索问题?

慕桂英4014372 2018-10-23 10:06:10
使用IKAnalyzer作为分词器,在索引中写入如下两个域:TextField field1 = new TextField("content","hello你好",Store.YES);TextField field2 = new TextField("content","Yello你好",Store.YES);在搜索的时候Term term = new Term("content", "Yello你好"); TermQuery termQuery = new TermQuery(term); //搜索不到Term term = new Term("content", "Y*");WildcardQuery wildcardQuery = new WildcardQuery(term);//搜索不到String params ="(content:"+"Y*)";QueryParser parser = new QueryParser(params, new IKAnalyzer());Query query = parser.parse(params);//能搜索到,结果是""hello你好"求解释一下为什么前两个query搜索不到,而第三个搜索到的是错的? 怎么修改才能查找到正确的结果
查看完整描述

1 回答

?
饮歌长啸

TA贡献1951条经验 获得超3个赞

创建索引时,因为是TextField,所以会进行分词,IKAnalyzer把Yello你好会分成Yello和你好,所以你第一个termQuery搜索不到信息。改成new Term("content", "你好")

或new Term("content", "yello")就能搜索到了

StringField是不分词


查看完整回答
反对 回复 2018-11-14
  • 1 回答
  • 0 关注
  • 833 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信