日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Lucene索引的建立

發布時間:2024/1/1 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Lucene索引的建立 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Lucene索引的建立

Lucene是完全開源的全文搜索引擎,但不是一個具體的應用App.你需要自己進行一些搭建。但是基本上函數類都是已經提供好了的。最初是Java版的,但由于lucene的高性能,其他語言也都有相應的版本實現。我也是有幸接觸到了Lucene.說實話,完全是個小白。完全是自學之中。由于目前找到的書籍中邱哲、符滔滔、王學松版<搭建自己的搜索引擎>讀著感覺寫的很清楚,可惜也是2010年出版的了。里面的lucene談到的也是2.0版。目前的是6.0版。我在這里把一些思想和概念在這里寫出來,只是希望能在此基礎上大家去看那些其他人寫的關于最新的lucene教程容易些。個人理解,僅作交流。

1.??????搜索引擎之所以檢索速度快其中一個因素就是對索引的建立。就好像書籍的目錄,可以讓我們迅速定位到內容。這里引用一張圖說明搜索過程。

從圖中可以很清晰的看到一個搜索系統,三個部分:收集數據整理成索引文檔,這個過程多是確定你需要檢索的信息。比如如果你需要檢索圖書館中的書。那么你可能需要把所有檢索書時可能用到的信息整理出來包括書名,作者,出版日期,摘要等;建立索引。對收集的索引信息存入數據庫后我們需要在其上建立索引;搜索服務。搜索其實就是檢索建立好索引庫。大型的公司服務器每天還都會自動更新索引,以保證用戶檢索信息的實時性。這里我們僅談論索引的建立過程。

2,索引建立

<pre name="code" class="java"> Document bookdoc=new Document();Field bookName=new Field("bookname","鋼鐵是怎樣煉成的",Field.Store.YES,Field.Index.TOKENIZED);Field author=new Field("author","匿名",Field.Store.YES,Field.Index.UN_TOKENIZED);bookdoc.add(bookName);bookdoc.add(author);IndexWriter writer=new IndexWriter(INDEX_STORE_PATH,new StandarAnalyzer(),true);writer.addDocument(bookdoc); writer.close();



上面就是一個索引地建立過程。比如我們要檢索一本書的信息。首先我們將獲取的需要檢索的書名、作者信息存入Field類型對象中,然后將Field對象加入到Document類型中。Indexwriter是一個建立索引的工具,利用它對索引創建。Indexwriter中封裝了許多類和方法。當我們將Document類型的數據給它時,就是告訴它,對bookdoc建立索引。

對于Document和Field的關系就好像一張表格中的記錄和字段。Document只是表格中的一行,而Field只是一列。


3.參數解釋

Filed:前兩個參數很容易理解,給字段起個名字,傳入值。第三個是表示該字段表示完整存儲下來。通常如果在檢索時需要完整顯示出來信息就選Yes。如果該字段僅是書中一段摘要,我們也可以用Field.Store.No.可以看的出Store為Field中的靜態類。而YES為Store類型的值。同理,后面的參數表示該字段需要被分詞器切分檢索。對于作者名字段通常用戶查詢時需要完整輸入,因此該字段不需要切分。

Document :調用add()方法,將FIeld加入其中。

Indexwriter:第一個為索引建立完成后存放的路徑,通常需要捕捉異常即try...catch神馬的。第二個參數是指定語言的分詞器實例,上文用的是StandarAnalyzer。第三個布爾型值是表式是否將指定路徑下的內容清空。通常我們第一次建立索引時置為true,以后如果只是更新索引應該將其置為false。最后關閉writer.這點需要注意:如果不關閉會導致建立的索引數據沒有導入磁盤,數據將在緩存中,甚至可能出現鎖定情況。下次在該目錄下將會發生無法加入文件的情況。

這里給出一篇博客的鏈接,寫的是lucene4.0,有興趣可以看一下http://www.cnblogs.com/xing901022/p/3933675.html。

最后再度說明,以上內容是lucene2.0之前,如果能幫助大家更輕松地看懂其他IT員的博客,那這篇文章就算值了。文章僅為交流,不當之處,敬請留言指教。


總結

以上是生活随笔為你收集整理的Lucene索引的建立的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。