欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Lucene的簡(jiǎn)單使用
為了在沒(méi)有數據庫支持的情況下,完成多個(gè)屬性數據的檢索任務(wù),特地在代碼中加入了鼎鼎大名的Apache.Lucene。當然讓lucene來(lái)干這個(gè)是大材小用了一點(diǎn)。
 Lucene的工作流程主要是:
   1 使用IndexWriter,在指定的目錄建立索引的文件
   2 將需要檢索的數據轉換位Document的Filed對象,然后將Document用IndexWriter添加倒索引的文件中
   3 處理索引信息,關(guān)閉IndexWriter流
   4 創(chuàng )建搜索的Query
   5 給IndexSearcher指定索引文件的路徑后,用Query檢索后返回Hits對象作為結果
 樣例代碼:
   
  1.    //sample code,索引對象
  2.    public class PersonInfo {
  3.     public String firstName="";
  4.     public String lastName="";
  5.     public String IDNumber="";
  6.    }
  7.   //Lucene 的添加和更新索引
  8.   public class LuceneSearcher {
  9.    public void addPersionInfo(PersonInfo person) {
  10.     Document doc = new Document();
  11.     doc.add(Field.Keyword("FirstName",person.getFirstName()));
  12.     doc.add(Field.Keyword("IDNumber",person.getIDNumber()));
  13.     doc.add(Field.Keyword("LastName",person.getLastName()));
  14.     doc.add(Field.Text("content",person.getIDNumber()));
  15.     try{
  16.              //刪除舊的相同的索引            
  17.         this.remove(person.getIDNumber());
  18.         writer = new IndexWriter(directory, new StandardAnalyzer(), false);            
  19.         writer.addDocument(doc);
  20.              writer.optimize();
  21.         writer.close();
  22.     }
  23.     catch(IOException ioe) {
  24.        ioe.printStackTrace();
  25.     }
  26.      }
  27.   //刪除舊的索引,idNumber作為Person的PK,建立term后刪除
  28.   public void remove(String idNumber) {
  29.     try{
  30.         IndexReader reader = IndexReader.open(directory);
  31.         Term term = new Term("IDNumber",idNumber);
  32.         reader.delete(term);            
  33.         reader.close();            
  34.      }
  35.      catch(IOException ioe) {
  36.     ioe.printStackTrace();
  37.      }
  38.    }
  39.    //search 代碼片段
  40.    public String[] search(String query) {
  41.       //建立search對象
  42.       Searcher searcher = new IndexSearcher(directory);
  43.       //解析輸入的Query [FirstName: "gerald" AND LastName:"zhou" AND IDNumber:"10*"]
  44.       Query query = QueryParser.parse(line, "FirstName"new StandardAnalyzer());            
  45.       Hits hits = searcher.search(query);
  46.    

----------------------------------------------------------------------------------------   
   
這樣就可以簡(jiǎn)單的用lucene來(lái)完成對person對象的firstName,lastName和IDNumber3個(gè)屬性的綜合查詢(xún)功能了,只要按照[url=http://jakarta.apache.org/lucene/docs/queryparsersyntax.html]Lucene Query[/url]語(yǔ)法就可以了
     
需要注意的還有以下幾點(diǎn)
    1 IndexWriter在添加新的document后,需要重新建立Index,則需要調用writer.optimize();方法
    2 Lucene沒(méi)有update索引的方法,需要刪除后重新建立,參考remove方法
    3 用IndexReader刪除Document后,需要重新用IndexWriter進(jìn)行整理,否則無(wú)法在進(jìn)行搜索(不知道是不是我設置問(wèn)題)
    
休息!休息,今天就到這里了??!
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
有關(guān)Lucene的問(wèn)題(8):用Lucene構建實(shí)時(shí)索引的文檔更新問(wèn)題
lucene入門(mén)與使用
Lucene學(xué)習筆記
lucene爬數據庫中的數據無(wú)非也是查詢(xún)數據。所有我們用lucene搜索數據主要有下面幾個(gè)步驟
Lucene查詢(xún)使用(五)
Lucene全文檢索
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久