大神们,救命呀

程序媛儿 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();
}
}
...全文
186 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序媛儿 2011-02-24
  • 打赏
  • 举报
回复
自己顶
弘石 2011-02-24
  • 打赏
  • 举报
回复
另外,你也没说是什么问题啊
sevendawn 2011-02-24
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiaoye2892 的回复:]
引用 1 楼 aquan12345678 的回复:
大神们救命呀
请自救
[/Quote]

同意
hepeng_8 2011-02-24
  • 打赏
  • 举报
回复
请自救
弘石 2011-02-24
  • 打赏
  • 举报
回复
去看lucene提供的demo代码吧
如果要支持中文,还得用中文的分析器才行,比如IKAnalyzer
happyfmy 2011-02-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 aquan12345678 的回复:]
大神们救命呀
[/Quote]请自救
程序媛儿 2011-02-23
  • 打赏
  • 举报
回复
大神们救命呀

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧