Elasticsearch 2.3.x 拼音分詞 analysis-lc-pinyin


        我選擇了elasticsearch-analysis-lc-pinyin作為拼音分詞插件,它是一款elasticsearch拼音分詞插件,可以支持按照全拼、首字母,中文混合搜索。

         elasticsearch-analysis-lc-pinyin一共有兩個版本分別是1.4.5和2.2.2,和es的版本對應
          1.4.5 這個版本對應ES1.X
          2.2.2這個版本對應ES2.X
 
            請根據需要安裝對應的版本,下面地址中壓縮包已經包含了這兩個版本
           安裝插件需要將 elasticsearch-analysis-lc-pinyin的源碼自己maven  build出來,這樣可以避免版本沖突
 
現在網上沒有找到有關2.X的插件安裝和配置介紹,我摸索了很久才完成,這里記錄下:
 

編譯安裝:

首先是build源碼,使用將目錄切到相應目錄,我的是:
    cd F:\software\elasticsearch-analysis-lc-pinyin-dev_2.2.2\elasticsearch-analysis-lc-pinyin
然后執行maven build命令(當然,前提是你安裝了maven,並配置好環境變量)
  mvn package
然后就等待他的編譯,完成時會在..\elasticsearch-analysis-lc-pinyin\target\releases目錄下生產一個zip,我們只需將這個zip解壓到elasticsearch的plugin目錄下即可。

配置使用:

lc 2.x是不需要在 elasticsearch.yml里配置的,我們只需要重啟 elasticsearch實例即可。
關鍵就是在於使用上mapping和DSL的配置。
由於elasticsearch 1.x和2.x改動很大,所以我這里直接貼2.x的mapping配置了:
curl -XPUT http://localhost:9200/addr    
curl -XPOST http://localhost:9200/addr/std/_mapping -d'    
{  
    "std": {  
        "properties": { 
            "detail_name": {  
                "type": "string",  
                "analyzer": "lc_index",  
                "search_analyzer": "lc_search",  
                "fields": {  
                   "cn": {  
                        "type": "string",  
                        "analyzer": "ik_max_word",  
                        "search_analyzer": "ik_max_word"  
                    }
                }  
            },
            "door_name":{
                "type": "string",  
                "analyzer": "lc_index",  
                "search_analyzer": "lc_search",  
                "fields": {  
                   "cn": {  
                        "type": "string",  
                        "analyzer": "ik_max_word",  
                        "search_analyzer": "ik_max_word"  
                    }
                }  
            }
        }  
    }  
}' 

 

主要問題是在於,1.x是 index_analyzer 為 lc_index ,但是2.x 沒有了 index_analyzer  這個參數。
 
接下來就和1.x差不多了。
 

 




免責聲明!

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



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