国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费

當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 設(shè)計(jì)軟件教程 > Lucene(Lucence)建立索引(字段)

Lucene(Lucence)建立索引(字段)
2010-01-13 23:09:43  作者:  來源:
   Lucene,這是官方稱謂,也有許多人叫它Lucence,做搜索和分詞用的工具包.也有人說是Java下的搜索引擎框架庫,見仁見智的說法罷了.不管叫什么,確實(shí)非常有用,比如做全站的搜索,其實(shí)它的用處遠(yuǎn)大于此,但凡涉及到文本搜索的地方就能用到它.我們就以做全站搜索為例,演示一下如何應(yīng)用Lucene建立索引.
Java代碼 復(fù)制代碼
  1. public void index(List<IArticle> list)   
  2. {   
  3.   //IArticle接口提供getName(標(biāo)題)和getContent(內(nèi)容)   
  4.   //list就是從數(shù)據(jù)庫里查詢出來的要建立索引的對象的列表   
  5.   if(list != null && list.size() > 0)   
  6.   {   
  7.     try {   
  8.            //標(biāo)記是否重新建立索引,true為重新建立索引   
  9.            boolean flag = true;   
  10.            //如果已存在索引,則追加索引   
  11.            if(IndexReader.indexExists(path))   
  12.       {   
  13.          flag = false;   
  14.            }   
  15.       ChineseAnalyzer ca = new ChineseAnalyzer();   
  16.       IndexWriter indexWriter = new IndexWriter("c:/lucene/index",ca,flag);            
  17.       Document doc = null;   
  18.       for(int i=0;i<list.size();i++)   
  19.           {   
  20.         doc = new Document();   
  21.         doc.add(new Field("title",article.getName(),Field.Store.YES,Field.Index.TOKENIZED));   
  22.        //添加內(nèi)容屬性,內(nèi)容只索引,不存儲   
  23.        doc.add(new Field("content",new StringReader(list.get(i).getContent())));   
  24.        indexWriter.addDocument(doc);   
  25.       }   
  26.            //優(yōu)化并關(guān)閉   
  27.       indexWriter.optimize();   
  28.       indexWriter.close();   
  29.        } catch (Exception e)    
  30.        {   
  31.       // TODO 自動生成 catch 塊   
  32.       //e.printStackTrace();   
  33.        }   
  34.   }   
  35. }  

簡單說下需要注意的地方:
1.ChineseAnalyzer ca = new ChineseAnalyzer();這個是分析器,Lucene內(nèi)置多個,處理中文搜索我會用ChineseAnalyzer.
2.IndexWriter indexWriter = new IndexWriter(c:/lucene/index,ca,true);處理索引的類,注意其構(gòu)造方法里的最后一個參數(shù),如果為true則表示,下次建立索引時會清除這次建立的索引重新建立索引,如果為false則表示追加索引,在原來索引的基礎(chǔ)上追加.看實(shí)際情況定true或false.
3.doc.add(new Field("title",article.getName(),Field.Store.YES,Field.Index.TOKENIZED));這一句表示為文章標(biāo)題建立索引并存儲.
4.doc.add(new Field("content",new StringReader(list.get(i).getContent())));這句是為內(nèi)容建立索引但不存儲
   這樣我們就為文章對象建立好索引了,然后就可以利用Lucene的其他類對這個索引目錄進(jìn)行搜索了,關(guān)于搜索部分我們稍后再補(bǔ)充上.
   下面是搜索部分的代碼,寫的簡陋了點(diǎn),比較簡單,不再多說,請參看注釋:
Java代碼 復(fù)制代碼
  1. public class Search   
  2. {   
  3.   //定義一個索引搜索類對象   
  4.   private IndexSearcher searcher = null;   
  5.   //定義一個Query對象   
  6.   private Query query = null;   
  7.   //定義中文分析器   
  8.   ChineseAnalyzer analyzer = new ChineseAnalyzer();   
  9.   //構(gòu)造方法里完成searcher的實(shí)例化   
  10.   public Search()   
  11.   {   
  12.     try  
  13.     {   
  14.      //這里的參數(shù)就是上面我們生成索引的目錄   
  15.      searcher = new IndexSearcher(IndexReader.open("c:/lucene/index"));   
  16.     }catch(Exception e)   
  17.     {   
  18.       e.printStackTrace();   
  19.     }   
  20.   }   
  21.   public Hits search(String keyword) throws Exception   
  22.   {   
  23.     //開始搜索的時間   
  24.     Date start = new Date();   
  25.     //對我們索引的content字段進(jìn)行搜索   
  26.     QueryParser qp = new QueryParser("content",analyzer);   
  27.     this.query = qp.parse(keyword);   
  28.     Hits hits = this.searcher.search(query);   
  29.     Date end = new Date();   
  30.     System.out.println("檢索完成,用時"+(end.getTime()-start.getTime())+"毫秒");   
  31.     //////////打印測試////////   
  32.     if(hits != null && hits.length() > 0)   
  33.     {   
  34.       for(int i = 0; i < hits.length(); i++)   
  35.       {   
  36.         try  
  37.         {   
  38.           Document doc = hits.doc(i);   
  39.           System.out.println("結(jié)果"+(i+1)+":"+doc.get("title")+" createTime:"+doc.get("content"));    
  40.           //System.out.println(doc.get("path"));   
  41.         }catch(Exception e)   
  42.         {   
  43.           e.printStackTrace();   
  44.         }   
  45.       }   
  46.     }   
  47.     return hits;   
  48.   }   
  49.   ///調(diào)用,主方法   
  50.   public static void main(String[] args)   
  51.   {   
  52.     try    
  53.     {   
  54.       Search test = new Search();   
  55.       Hits h = test.search("你好");   
  56.     } catch (Exception e)    
  57.     {   
  58.       // TODO 自動生成 catch 塊   
  59.        e.printStackTrace();   
  60.     }   
  61.   }   
  62. }  

安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
国产精品一区二区精品_久久小视频_天堂va在线观看_99久久夜色精品国产亚洲96_日本手机在线视频_av成人免费
<button id="0mgmq"><pre id="0mgmq"></pre></button>
  • <tr id="0mgmq"></tr>
  • <abbr id="0mgmq"><source id="0mgmq"></source></abbr> <button id="0mgmq"></button>
  • 国产精品区一区| 亚洲手机视频| 国产精品美女久久久久av福利| 久久福利电影| 日韩亚洲国产精品| 欧美成人在线免费观看| 久久青青草原一区二区| 久久国产日本精品| 99精品国产一区二区青青牛奶| 正在播放一区| 伊人精品久久久久7777| 亚洲春色在线视频| 性欧美大战久久久久久久免费观看| 国产福利一区二区三区在线观看| 裸体一区二区| 久久精品成人| 114国产精品久久免费观看| 国产精品日本欧美一区二区三区| 在线 亚洲欧美在线综合一区| 合欧美一区二区三区| 中文字幕乱码一区二区三区| 日本一区二区三区视频在线播放| 蜜桃视频在线观看成人| 欧美日韩精品免费观看| 欧美人xxxxx| 亚洲日本精品国产第一区| 日韩在线国产| 在线观看欧美激情| 欧美亚洲不卡| 亚洲深夜福利| 99re在线观看| 久久久久久精| 日本电影一区二区三区| 亚洲国产精品久久久久婷婷老年| 一区二区三区欧美在线| 欧美三级不卡| 国产欧美日韩亚洲| 高清视频在线观看一区| 国产欧美综合精品一区二区| 久久久影院一区二区三区| 欧美日韩另类综合| 欧美精品一卡| 国产亚洲成人一区| 懂色一区二区三区av片| 日本在线观看一区二区| 黄色成人精品网站| 51精品国产人成在线观看| 国产综合精品一区二区三区| 视频一区免费观看| 亚洲人成网站在线观看播放 | 久久精品日韩| 一区二区不卡在线| 国产一区二区高清| 久久99九九| 国产一区自拍视频| 97久草视频| 一区二区不卡在线| 久久综合影音| 伊人久久大香线蕉精品| 在线视频欧美一区| 农村寡妇一区二区三区| 亚洲精品国产系列| 久久av一区二区三区亚洲| 欧美精品不卡| 99热精品在线| 免费亚洲精品视频| 夜夜爽av福利精品导航| 蜜桃免费一区二区三区| 夜夜爽www精品| 日韩精品久久久免费观看| 国产手机视频一区二区| 视频二区一区| 久久五月激情| 韩国一区二区三区美女美女秀| 久久永久免费| 亚洲激情在线| 视频一区二区三| 97神马电影| 日韩午夜电影| 在线观看成人av| 久久96国产精品久久99软件| 亚洲人妖在线| 午夜日韩av| 久久av一区二区三区漫画| 国产精品一区二区三区观看| 亚洲mv在线看| 快播亚洲色图| 久久久久久色| 一本一本久久a久久精品综合妖精| 日韩三级在线播放| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 亚洲一卡二卡区| 国产欧美一区二区三区不卡高清| 一区二区高清| 国产自产在线视频一区| 亚洲一区二区三区免费观看| 精品国产乱码久久久久久88av| 久久福利影视| 亚洲精品社区| 精品999成人| 久久精品丝袜高跟鞋| 欧美亚洲三区| 国产精品一区视频网站| 亚洲激情一区二区| 亚洲视频久久| 国产一区二区三区无遮挡| 一区二区三区四区视频在线 | 狂野欧美性猛交xxxx巴西| 国产亚洲网站| 99视频+国产日韩欧美| 在线观看一区欧美| 国产在线精品二区| 国内精品视频在线播放| 欧美日韩免费观看一区=区三区| 日韩福利在线| 亚洲高清乱码| 欧美精品三级| 在线日韩av| 99在线精品视频在线观看| 亚洲精品四区| 新67194成人永久网站| 国产精品日韩一区二区三区| 国产精品久久久久久久久久妞妞| 在线日韩欧美| 国产精品永久| 成人18视频| 蜜桃精品久久久久久久免费影院| 久久精品99| 亚洲精品日韩精品| 韩日成人在线| 国产精品普通话对白| 免费久久99精品国产自| 成人国产一区二区| 欧美日韩电影一区二区| 中文字幕一区二区三区有限公司| 欧美一区二区三区四区夜夜大片| 欧美日韩一区综合| 亚洲少妇诱惑| 国外成人免费视频| 日韩av电影免费观看| 欧美三日本三级少妇三99| 一区二区三区欧美在线| 99久热re在线精品视频| 欧美一区少妇| 影音先锋亚洲一区| 99久热re在线精品视频| 日本精品一区二区三区高清 久久| 欧美福利一区| 久久久久高清| 亚洲精品国产精品国自产| 亚洲激情网站| 久久久久欧美| 国产精品国产三级国产专区53| 亚洲一区三区电影在线观看| www.久久久| 欧美大片专区| 999国产在线| 欧美一区二区三区免费看| 国产精品一级| 五月婷婷综合色| 国产亚洲一区在线| 日韩高清国产一区在线观看| 亚洲日本久久| 日本最新一区二区三区视频观看| 亚洲国产午夜| 欧美午夜视频在线| 国产精品手机在线| 日本一区高清不卡| 久久国产精品高清| 中文精品一区二区三区| 老牛嫩草一区二区三区日本| 婷婷久久五月天| 成人毛片网站| 亚洲成色最大综合在线| 欧美一区二区高清在线观看| 亚洲国产精品一区二区第一页| 免费看国产精品一二区视频| 国产欧美日本在线| 一区二区三区国产福利| 国产99在线播放| 91久久亚洲| 亚洲福利av| 久久99精品久久久久久青青日本| 日韩亚洲国产精品| 在线观看精品视频| 免费日韩av电影| caoporn国产精品免费公开| 中文字幕中文字幕一区三区| 亚洲女同在线| 午夜久久资源| 亚洲国产综合自拍| 九色91国产| 91中文字精品一区二区| 一本色道久久综合亚洲精品婷婷| 一区视频二区视频| 欧美国产一区二区在线| 老牛嫩草一区二区三区日本| 国产亚洲欧美另类一区二区三区| 欧美jjzz| 午夜精品婷婷|