lucene 中文搜索不到?

我用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(); 


我一直改不好编码问题。还请高手直接给我修改代码来实现中文的检索。主要是我的字符串编码格式不对,但是一直没有找到问题。再次感谢了。

元芳怎么了
浏览 1363回答 1
1回答

HUX布斯

Query query = new WildcardQuery(new Term("content",word));你这content是哪来的?你是要搜索title里面的内容你就改成Query query = new WildcardQuery(new Term("title",word));
打开App,查看更多内容
随时随地看视频慕课网APP