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

lucene 中文搜索不到?

lucene 中文搜索不到?

元芳怎么了 2018-10-29 10:06:43
我用lucene来WildcardQuery搜索,但是却只能搜索到英文的,中文的搜索为空,在网上搜着原因是创建索引和搜索的编码不一致。但是我改了很长时间却一直没有效果。还请大家指点。创建索引代码片段:Field field1 = new Field("title",new String("搜索引擎的效率是很高的".getBytes("ISO-8859-1"),"UTF-8"),Field.Store.YES, Field.Index.TOKENIZED);Field field1_1 = new Field("address","http://102.168.1.1",Store.YES,Index.UN_TOKENIZED);doc1.add(field1);doc1.add(field1_1);搜索代码片段:word = "*"+word+"*";// Query query=new FuzzyQuery(new Term("content",ddd));Query query = new WildcardQuery(new Term("content",word));Searcher search = null; try { search=new IndexSearcher(path);return search.search(query); // return indexSearcher.search(query); } catch (CorruptIndexException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } 我一直改不好编码问题。还请高手直接给我修改代码来实现中文的检索。主要是我的字符串编码格式不对,但是一直没有找到问题。再次感谢了。
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

Query query = new WildcardQuery(new Term("content",word));
你这content是哪来的?你是要搜索title里面的内容你就改成
Query query = new WildcardQuery(new Term("title",word));

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

添加回答

举报

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