ES之分析器(Analyzer)及拼音分詞器


把輸入的文本塊按照一定的策略進行分解,並建立倒排索引。在Lucene的架構中,這個過程由分析器(analyzer)完成。

主要組成

  • character filter:接收原字符流,通過添加、刪除或者替換操作改變原字符流。例如:去除文本中的html標簽,或者將羅馬數字轉換成阿拉伯數字等。一個字符過濾器可以有零個或者多個

  • tokenizer:簡單的說就是將一整段文本拆分成一個個的詞。例如拆分英文,通過空格能將句子拆分成一個個的詞,但是對於中文來說,無法使用這種方式來實現。在一個分詞器中,有且只有一個tokenizeer

  • token filters:將切分的單詞添加、刪除或者改變。例如將所有英文單詞小寫,或者將英文中的停詞a刪除等。在token filters中,不允許將token(分出的詞)position或者offset改變。同時,在一個分詞器中,可以有零個或者多個token filters

默認ES使用standard analyzer,如果默認的分詞器無法符合你的要求,可以自己配置。

 

下載拼音分詞插件,要和安裝的es版本保持一致,解壓改名乘pinyin放入到 es的plugins下,重啟es;

在創建index mapping時可以指定  "analyzer": "pinyin_analyzer"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM