33-天亮大数据系列教程之ElasticSearch6系列最新版教程之ansj分词插件安装与使用

目录
1、es之ansj分词安装与使用介绍
详情
1、es之ansj分词安装与使用介绍

  • ansj分词插件的说明
    • es5.0版本之前配置ansj均是在elasticsearch.yml中配置
      • es5.0版本及之后,均不支持配置文件方式,仅支持api方式进行设置
    • ansj分词插件的安装
      • 分词插件的下载
        • 从github开源网址下载
https://github.com/NLPchina/elasticsearch-analysis-ansj/releases/download/v6.3.1/elasticsearch-analysis-ansj-6.3.1.0-release.zip
  • 天亮教育官方百度云盘中下载
    这里写图片描述

    • 分词插件的配置步骤
      • 将下载下来的zip包,拷贝到es_home/plugins下
    • 将zip解压到当前目录下
      这里写图片描述

这里写图片描述

  • 将之前的es-ansj的zip包删除掉。
    • 重启es(使之加载分词器配置,使之具备分词的能力,此时还不能生效和使用)
    • 通过es提供的api方式配置ansj分词插件
      • 1、首先关闭索引服务(分词配置不支持动态设置,须关闭索引服务后才可以进行设置分词)
        curl -XPOST ‘localhost:9200/_all/_close’
      • 2、设置分词方式
curl -XPUT 'http://localhost:9200/_all/_settings?preserve_existing=true' -H 'Content-Type: application/json' -d '{
  "index.analysis.analyzer.default.type" : "index_ansj",
  "index.analysis.analyzer.default_search.type" : "query_ansj"
}'
  • 关于分词方式的说明、
  • 索引分词
    • 尽可能分出所有的分词结果,尽量提高召回率
      • 召回率
        • 官方定义:搜索结果的正确内容条目占文档中所有相关内容条目的比例
        • 白话解释:应该被搜索出来的东西,尽可能都被搜索出来,即hit命中的比例
  • 搜索分词
    • 一定是索引分词的一个子集,尽量保证准确率
      * 准确率
      * 官方定义:搜索结果中的正确内容条目占搜索出来的内容条目的比例
      * 白话解释:尽量保证搜索出来的内容条目,对的越多越好。

    • 3、打开索引服务,对外正常提供搜索服务
      curl -XPOST ‘localhost:9200/_all/_open’

    • ansj分词插件安装成功后的测试

    • 问题发现

      • 索引分词效果并不理想,分的不够细,会直接影响搜索效果。
      • 理想效果应如下图:
        这里写图片描述

这里写图片描述

2、解压缩后,拿到其library目录和ansj_library.properties文件
这里写图片描述

3、将如上2个文件,拷贝到es_home根目录下
这里写图片描述

  • 4、重启es即可生效
    web http请求接口再测试,依然以之前的示例作为比较,即可获取理想的索引和搜索分词的效果。

    • es-ansj插件使用介绍
      • 通过head新建一个索引以及一个类型的mapping结构,并指定相关字段的分词设置
        • 原生结构
curl -XPUT http://localhost:9200/test -H 'Content-Type: application/json' -d '{
    "settings" : {
        "number_of_shards" : 1,
        "number_of_replicas" : 0

    },
    "mappings" : {
        "student" : {
            "_all" : { "enabled" : false },
            "properties" : {
                "name" : { "type" : "text", "analyzer" : "index_ansj", "search_analyzer" : "query_ansj" },
        "classname" : { "type" : "text", "analyzer" : "index_ansj", "search_analyzer" : "query_ansj" },
        "gender" : { "type" : "text" }
            }
        }
    }
}'
  • 通过head复合页面发送请求
{
    "settings" : {
        "number_of_shards" : 1,
        "number_of_replicas" : 0

    },
    "mappings" : {
        "student" : {
            "_all" : { "enabled" : false },
            "properties" : {
                "name" : { "type" : "text", "analyzer" : "index_ansj", "search_analyzer" : "query_ansj" },
        "classname" : { "type" : "text", "analyzer" : "index_ansj", "search_analyzer" : "query_ansj" },
        "gender" : { "type" : "text" }
            }
        }
    }
}

这里写图片描述

  • 通过head向指定索引名称及其指定的type新建一条数据
    • 原生结构
curl -XPUT 'http://localhost:9200/test/student/1?pretty' -H 'Content-Type: application/json' -d '
{
    "name": "张自强",
    "classname": "计算机科技技术1班",
    "gender": "男生"
}'
  • 通过head复合页面发送请求
{
    "name": "张自强",
    "classname": "计算机科技技术1班",
    "gender": "男生"
}

//第2名
{
    "name": "李四",
    "classname": "计算机科技技术2班",
    "gender": "男生"
}
//第3名
{
    "name": "张萌萌",
    "classname": "软件工程3班",
    "gender": "女生"
}

这里写图片描述



天亮教育是一家从事大数据云计算、人工智能、教育培训、产品开发、咨询服务、人才优选为一体的综合型互联网科技公司。
公司由一批BAT等一线互联网IT精英人士创建,
以"快乐工作,认真生活,打造高端职业技能教育的一面旗帜"为愿景,胸怀"让天下没有难找的工作"使命,
坚持"客户第一、诚信、激情、拥抱变化"的价值观,
全心全意为学员赋能提效,践行技术改变命运的初心。

更多学习讨论, 请加入
官方-天亮大数据交流-366784928
群二维码:
这里写图片描述
天亮教育公开课-从小白到大佬修成记-全系列视频地址:http://bbs.myhope365.com/forum.php?mod=viewthread&tid=1422&extra=page%3D1

欢迎关注天亮教育公众号,大数据技术资料与课程、招生就业动态、教育资讯动态、创业历程分享一站式分享,官方微信公众号二维码:
这里写图片描述

天亮教育官方群318971238,
爬虫、nlp技术qq群320349384
hadoop & spark & hive技术群297585251,
教育培训官网:http://myhope365.com
项目研发官网:http://shangyuninfo.com/
官方天亮论坛:http://bbs.myhope365.com/

猜你喜欢

转载自blog.csdn.net/erliang20088/article/details/81627737
今日推荐