hibernate+lucene做网站后台搜索

这个东西自己实际上也就做了几天,很多东西还不完善,比如自己说的。
要用quartz结合起来也没做。自己太懒了。
一下是其一些重要代码
    private void creatDoc() throws CorruptIndexException, IOException{
        DataInput di 
= new DataInput();
        List
<Hibernate> l = di.select();
        
for(Hibernate h : l){
            Document doc 
= new Document();
//            下面是关键点
            doc.add(new Field("id",String.valueOf(h.getId()),Field.Store.YES,Field.Index.UN_TOKENIZED));
            doc.add(
new Field("name",String.valueOf(h.getName()),Field.Store.YES,Field.Index.TOKENIZED,Field.TermVector.YES));
            doc.add(
new Field("context",String.valueOf(h.getContext()),Field.Store.NO,Field.Index.TOKENIZED,Field.TermVector.YES));
            doc.add(
new Field("time",String.valueOf(h.getTime()),Field.Store.YES,Field.Index.UN_TOKENIZED));            
            writer.addDocument(doc);
        }
    }
    private IndexWriter writer = null;
    @SuppressWarnings(
"deprecation")
    
public LuceneIndex(){
        
try {
            writer 
= new IndexWriter(Contants.INDEX_STORE_PATH,new ChineseAnalyzer(),true);
        } 
catch (CorruptIndexException e) {
            e.printStackTrace();
        } 
catch (LockObtainFailedException e) {
            e.printStackTrace();
        } 
catch (IOException e) {
            e.printStackTrace();
        }
    }
此2点为最重要的,一是中文切词的问题。
第二个则是索引建立时的Field的确定。

posted on 2009-03-18 17:16 duduli 阅读(908) 评论(0)  编辑  收藏 所属分类: java


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

公告

welcome to my place.

常用链接

留言簿(5)

我参与的团队

随笔分类

随笔档案

新闻分类

石头JAVA摆地摊儿

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜

@duduli