1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 基于 Ansj 的 elasticsearch 2.3.1 中文分词插件 下载

Discussion in '软件资讯' started by 漂亮的石头, 2016-04-25.

  1. 漂亮的石头

    漂亮的石头 版主 Staff Member

    Joined:
    2012-02-10
    Messages:
    487,766
    Likes Received:
    47
    前言


    这是一个elasticsearch的中文分词插件,基于Ansj中文分词。发起者Onni大神。

    2.3.1插件安装


    进入Elasticsearch目录运行如下命令

    进入es目录执行如下命令

    ./bin/plugin install http://maven.nlpcn.org/org/ansj/elasticsearch-analysis-ansj/2.3.1/elasticsearch-analysis-ansj-2.3.1-release.zip
    更新内容


    • elasticsearch更新2.3.1


    • ansj_seg升级至3.7.3


    • elasticsearch更新2.1.1


    • ansj_seg升级至3.5


    • 新增http的_ansj接口,用于查看ansj分词词性


    • 新增http的_cat/ansj接口,作用同上,显示为cat方式


    • 新增http的_cat/[index]/analyze接口,和_analyze作用一样,显示为cat方式


    • 更方便的配置
    测试


    • 创建测试索引

    curl -XPUT 127.0.0.1:9200/test -d '{
    "settings" : {
    "number_of_shards" : 1,
    "number_of_replicas" : 0

    },
    "mappings" : {
    "type1" : {
    "_all" : { "enabled" : false },
    "properties" : {
    "name" : { "type" : "string", "analyzer" : "index_ansj", "search_analyzer" : "query_ansj" }
    }
    }
    }
    }'

    • 添加索引内容

    curl -XPUT 'http://127.0.0.1:9200/test/test/1' -d '{
    "name" : "中国人民万岁",
    "post_date" : "2009-11-15T14:12:12",
    "message" : "trying out Elasticsearch"
    }'

    • 查询索引

    浏览器访问:
    http://127.0.0.1:9200/test/test/_search?q=name:%E4%B8%AD%E5%9B%BD

    • 如果你想把ansj作为你的默认分词需要在elasticsearch.yml加入如下配置:


    #默认分词器,索引 index.analysis.analyzer.default.type: index_ansj #默认分词器,查询 index.analysis.analyzer.default_search.type: query_ansj


    关于分词器不得不说的那点小事

    目前默认内置三个分词器

    当然如果你有心仔细观察日志看到了实例化了n多分词器如下

    regedit analyzer named : index_ansj
    regedit analyzer named : query_ansj
    regedit analyzer named : to_ansj
    regedit analyzer named : dic_ansj
    regedit analyzer named : user_ansj
    regedit analyzer named : search_ansj

    why????
    额 只有三个其他都是别名
    索引分词


    index_ansj 是索引分词,尽可能分词处所有结果 example

    http://127.0.0.1:9200/_cat/test/analyze?text=%E5%85%AD%E5%91%B3%E5%9C%B0%E9%BB%84%E4%B8%B8%E8%BD%AF%E8%83%B6%E5%9B%8A&analyzer=index_ansj

    六味 0 2 0 word
    地 2 3 1 word
    黄丸软 3 6 2 word
    胶囊 6 8 3 word
    六味地黄 0 4 4 word
    地黄 2 4 5 word
    地黄丸 2 5 6 word
    软胶 5 7 7 word
    软胶囊 5 8 8 word
    搜索分词 (search_ansj=to_ansj=query_ansj)


    query_ansj 是搜索分词,是索引分词的子集,保证了准确率 example

    http://127.0.0.1:9200/_cat/test/analyze?text=%E5%85%AD%E5%91%B3%E5%9C%B0%E9%BB%84%E4%B8%B8%E8%BD%AF%E8%83%B6%E5%9B%8A&analyzer=query_ansj

    六味 0 2 0 word
    地 2 3 1 word
    黄丸软 3 6 2 word
    胶囊 6 8 3 word
    用户自定义词典优先的分词方式 (user_ansj=dic_ansj)


    dic_ansj 是用户自定义词典优先策略

    http://127.0.0.1:9200/_cat/test/analyze?text=%E5%85%AD%E5%91%B3%E5%9C%B0%E9%BB%84%E4%B8%B8%E8%BD%AF%E8%83%B6%E5%9B%8A&analyzer=dic_ansj

    六味地黄 0 4 0 word
    丸 4 5 1 word
    软胶囊 5 8 2 word
    基于 Ansj 的 elasticsearch 2.3.1 中文分词插件下载地址
     
Loading...