es分詞源碼
『壹』 ES自定義分詞器
es的分詞器往往包括3個低級構建塊包:
Standard Analyzer
標准分析儀按照Unicode文本分段演算法的定義,將文本分割成單詞邊界的分詞。它刪除了大多數標點符號,小寫顯示分詞,並支持刪除stop words。
Simple Analyzer
當遇到不是字母的字元時,簡單的分析器會將文本分成條目。小寫顯示分詞。
Whitespace Analyzer
空格分析器遇到任何空格字元時都會將文本分為多個項目。不會把分詞轉換為小寫字母。
Stop Analyzer
停止分析儀和Simple Analyzer類似,但也支持stop words的刪除。
Keyword Analyzer
一個「noop」分析器,它可以接受任何給定的文本,並輸出完全相同的文本作為一個單詞。
Pattern Analyzer
使用正則表達式拆分分詞,支持lower-casing和stop words。
Language Analyzers
Elasticsearch提供許多語言特定的分析器,如英語或法語。
Fingerprint Analyzer
一個專門的分析儀,它可以創建一個可用於重復檢測的指紋。
https://www.jianshu.com/p/13112fe5eaad
對中文文本以英文逗號作為分隔符分詞:
將分析器設置到索引上
獲取分詞結果
https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-stop-analyzer.html
es 節點層面的默認分詞設置已經廢棄,不支持了。就是說在 elasticsearch.yml 配置諸如:
無效,會導致es啟動失敗:
推薦在索引層面動態設置。
https://blog.csdn.net/yu280265067/article/details/71107658