大神们,救命呀
程序媛儿 2011-02-23 05:05:58 关于Lucene搜索框架中的问题
public class Search {
public static void main(String[] args) throws Exception{
Search search = new Search();
search.createIndex();
search.indexSearch();
}
public void indexSearch() throws Exception{
IndexSearcher searcher = new IndexSearcher(Config.INDEX_PATH);
Term t = new Term("bookname", "钢铁");
Query query = new TermQuery(t);
Hits hits = searcher.search(query);
for(int i = 0;i<hits.length();i++){
System.out.println(hits.doc(i));
System.out.println(hits.score(i));
System.out.println(hits.id(i));
System.out.println("==============");
}
System.out.println(query);
System.out.println("以上为查询结果");
}
public void createIndex() throws Exception{
IndexWriter writer = new IndexWriter(Config.INDEX_PATH, new StandardAnalyzer(), true);
Document document1 = new Document();
Document document2 = new Document();
Document document3 = new Document();
Document document4 = new Document();
Document document5 = new Document();
Document document6 = new Document();
Document document7 = new Document();
Document document8 = new Document();
/*如果用这段则含有“钢铁”字符的条目都会被搜索出来
Field field1 = new Field("bookname", "钢铁是怎样炼成的", Field.Store.YES, Field.Index.TOKENIZED);
Field field2 = new Field("bookname", "英雄儿女", Field.Store.YES, Field.Index.TOKENIZED);
Field field3 = new Field("bookname", "篱笆女人和狗", Field.Store.YES, Field.Index.TOKENIZED);
Field field4 = new Field("bookname", "女人是水做的", Field.Store.YES, Field.Index.TOKENIZED);
Field field5 = new Field("bookname", "我的兄弟和女儿", Field.Store.YES, Field.Index.TOKENIZED);
Field field6 = new Field("bookname", "白毛女", Field.Store.YES, Field.Index.TOKENIZED);
Field field7 = new Field("bookname", "钢的世界", Field.Store.YES, Field.Index.TOKENIZED);
Field field8 = new Field("bookname", "钢铁战士", Field.Store.YES, Field.Index.TOKENIZED);
*/
//如果有这段则什么都搜不出来,这是为什么呀,救命呀,小弟初学Lucene
Field field1 = new Field("bookname", "钢铁是怎样炼成的", Field.Store.YES, Field.Index.TOKENIZED);
Field field2 = new Field("bookname", "钢铁是怎样炼成的", Field.Store.YES, Field.Index.TOKENIZED);
Field field3 = new Field("bookname", "钢铁是怎样炼成的", Field.Store.YES, Field.Index.TOKENIZED);
Field field4 = new Field("bookname", "钢铁是怎样炼成的", Field.Store.YES, Field.Index.TOKENIZED);
Field field5 = new Field("bookname", "钢铁是怎样炼成的", Field.Store.YES, Field.Index.TOKENIZED);
Field field6 = new Field("bookname", "钢铁是怎样炼成的", Field.Store.YES, Field.Index.TOKENIZED);
Field field7 = new Field("bookname", "钢铁是怎样炼成的", Field.Store.YES, Field.Index.TOKENIZED);
Field field8 = new Field("bookname", "钢铁是怎样炼成的", Field.Store.YES, Field.Index.TOKENIZED);
document1.add(field1);
document2.add(field2);
document3.add(field3);
document4.add(field4);
document5.add(field5);
document6.add(field6);
document7.add(field7);
document8.add(field8);
writer.addDocument(document1);
writer.addDocument(document2);
writer.addDocument(document3);
writer.addDocument(document4);
writer.addDocument(document5);
writer.addDocument(document6);
writer.addDocument(document7);
writer.addDocument(document8);
writer.close();
}
}