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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

全文检索Lucence(三)——分词器

發布時間:2024/1/18 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 全文检索Lucence(三)——分词器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? ? 前面的文章中已經涉及到了分詞器的概念,必須使用同一個分詞器建立索引和檢索。我們的編程只需要了解中、英兩種語言的分詞器。

一、大致了解下分詞器的作用機制:


? ??分詞器:是建立索引和搜索的輔助工具,建立索引的分詞器和搜索的分其次必須是同一個。

二、英文分詞器:


形態還原:

將各種時態、形態、單復數的單詞轉換為單詞的原型

worked——work

working——work

studies——study


如將這句英文分詞的過程如下:

原句:IndexWriter addDocument's a javadoc.txt

1.切分次:“IndexWriter????”、“addDocument's??”“a”、“ javadoc.txt

2.切除停用詞:“IndexWriter????”、“addDocument's? ????”、“? javadoc.txt

3.形態還原:? IndexWriter ????”、“addDocument? ”、“? javadoc.txt

4.轉為小寫:“Indexwriter ????”、“adddocument's? ????”、“???? javadoc.txt


三、中文分詞器:? ??

中文分詞器比較復雜一些,因為不是一個字就是一個詞,而一個詞在另外一個地方不一定還是一個詞。常用的有三種方式:單字分詞(默認)、二分法、詞典分詞。?

單字分詞:一個漢字就是一個詞,如:我、們、是、中、國、人

二分法:每相鄰的兩個詞作為一個詞:我們 、們是、是中、中國、國人

詞典分詞:按照某種造次法,與詞庫進行比對。如:“我們是中國人”使用極易分詞就分解為“我們”“中國人”。


中文停用詞:

? ??了、著、的、標點符號。排除停用詞后,可以加快索引建立速度,也可以減小索引大小。


四、索引文件結構:

對索引有了一個大致的了解后,接觸下內部機制


上圖是倒排序索引的結構示例,類似英文課本后的單詞索引表。實際的索引機制還是要復雜的多,比如,關鍵詞在文本中的編號位置,或者首字母的字符位置等。


五、索引的檢索與維護:

詞匯表規模型對較小,文檔集合規模較大。檢索時,先從詞匯表開始,然后找到對應的文檔。如果查詢中僅包含一個關鍵詞,則在詞匯表中找到該單詞,并取出他對應的文檔就可以了。如果查詢中包含多個關鍵詞,則需要將各個單詞檢索出的記錄合并?

維護到排序有三個操作:插入、刪除、更新。更新的代價較高,我們在使用Eclipse的時候會深有感觸,如果不設置updating indexs往往會花費很長時間。這是因為文檔修改后,文檔中的很多關鍵詞的位置都會發生變化,這就需要頻繁的讀取和修改記錄。因此,一般采用“先刪除,后創建”的方式代替更新。


總結:

? ? 以上就是Lucence中索引的大致機制和工作原理,在使用的時候需要注意兩點:

? ? 1. 建立索引和檢索使用同一個分詞器對象

? ? 2.?采用“先刪除,后創建”的方式代替更新。

總結

以上是生活随笔為你收集整理的全文检索Lucence(三)——分词器的全部內容,希望文章能夠幫你解決所遇到的問題。

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