当前位置: 首页 > elasticsearch, 搜索 > 正文

elasticsearch-analysis-pinyin插件安装

1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share

现在来介绍一下elasticsearch-analysis-pinyin插件的安装,elasticsearch-analysis-pinyin插件整合了Pinyin4j软件,实现了中文对拼音的转化。

1.从https://github.com/medcl/elasticsearch-analysis-pinyin下载该软件。

2.由于是maven项目,先导入到eclipse中,然后再运行命令,得到相应的jar包

mvn clean install -Dmaven.test.skip

3.在elasticsearch目录的plugins建立pinyin目录,把jar拷入。

4.配置elasticsearch.yml

index: 
  analysis:
    analyzer:
      pinyin_analyzer:
        tokenizer: xq_pinyin
        filter: [standard,nGram]
    tokenizer:
      xq_pinyin:
        type: pinyin
        first_letter: "prefix"
        padding_char: ""

4.重新启动elasticsearch服务。运行:

http://localhost:9200/country/_analyze?analyzer=pinyin&text=%E4%B8%AD%E5%9B%BD%E4%BA%BA%E6%B0%91

结果:

{"tokens":[{"token":"zhongguorenmin","start_offset":0,"end_offset":4,"type":"word","position":1}]}

5.程序中使用pinyin_analyzer:

                                .startObject("fname")
                                    .field("type", "string")
                                    .field("store", "yes")
                                    .field("term_vector","with_positions_offsets")
				    .field("indexAnalyzer", "pinyin_analyzer")
				    .field("searchAnalyzer", "pinyin_analyzer")
                                    .field("include_in_all", "false")
                                    .field("boost", 4.0) // 打分(默认1.0)
                                .endObject()

6.搜索是使用语句:

QueryStringQueryBuilder queryBuilder = new QueryStringQueryBuilder(q);//查询的词
                 queryBuilder.field("fname");

7.搜索结果实例:

http://localhost:9200/country/forum/_search?q=name:中
http://localhost:9200/country/forum/_search?q=name:guo

参考文章:https://github.com/medcl/elasticsearch-analysis-pinyin

本文固定链接: http://www.chepoo.com/elasticsearch-analysis-pinyin-install.html | IT技术精华网

elasticsearch-analysis-pinyin插件安装:目前有1 条留言

  1. 沙发
    :

    这有个好用点的拼音分词http://git.oschina.net/music_code_m/elasticsearch-analysis-lc-pinyin

    [回复]

发表评论