我用lucene來WildcardQuery搜索,但是卻只能搜索到英文的,中文的搜索為空,在網(wǎng)上搜著原因是創(chuàng)建索引和搜索的編碼不一致。但是我改了很長時間卻一直沒有效果。還請大家指點。創(chuàng)建索引代碼片段: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(); } 我一直改不好編碼問題。還請高手直接給我修改代碼來實現(xiàn)中文的檢索。主要是我的字符串編碼格式不對,但是一直沒有找到問題。再次感謝了。
1 回答

HUX布斯
TA貢獻1876條經(jīng)驗 獲得超6個贊
Query query = new WildcardQuery(new Term("content",word));
你這content是哪來的?你是要搜索title里面的內(nèi)容你就改成
Query query = new WildcardQuery(new Term("title",word));
- 1 回答
- 0 關(guān)注
- 1443 瀏覽
添加回答
舉報
0/150
提交
取消