hibernate+lucene做网站后台搜索

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的确定。

你可能感兴趣的:(hibernate+lucene做网站后台搜索)