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

Posted 刍荛采葑菲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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差不多了。
 

 



以上是关于Elasticsearch 2.3.x 拼音分词 analysis-lc-pinyin的主要内容,如果未能解决你的问题,请参考以下文章

ELasticsearch安装拼音插件结合IK中文分词+拼音(在线+离线)

Elasticsearch 5 Ik+pinyin分词配置详解

Elasticsearch自定义分词器

Elasticsearch拼音分词和IK分词的安装及使用

Elasticsearch 分布式搜索引擎 -- elasticsearch-analysis-pinyin 拼音分词器的安装和介绍

elasticsearch pinyin 拼音分词器