elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加

因为项目中的es要升级,自己又不太会,所以学习学习和es 6 的区别,搞个单节点,看一下链接初始化 和方法api

1 安装window 环境es 7.6 

安装包链接:

链接:https://pan.baidu.com/s/1ERcJ7I4bbDEMb_yGNVYQcw 
提取码:kks0

下载后直接解压:

es 是java 开发的所以运行需要安装jdk。 7.6 说是最低要jdk11  不过目前看jdk8 也可以运行。

运行window es

2 使用head 插件连接 es

还是一个空的es 节点

3 目前我知道的主要的区别

版本:

 5.x 支持多种type

6.x 只能有一种type

7.x 将去除type 没有类型的概念了

7.X  不再支持 TransportClient

 

4 安装一个ik 

下载地址:

链接:https://pan.baidu.com/s/1BUN-rbBiRDShOmmRYuV7Ew 
提取码:weoa

在plugins 中建ik 文件夹

然后将压缩包解压到 ik 下即可

注意: ik 解压后的elasticsearch-analysis-ik-*.*.*.jar 版本 必须和 当前的es版本保持一致。否则会报错

 java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 7.3.0 

报错截图:

5 启动后测试分词效果;

 

ik 有ik_smart    和 ik_max_word

路径:http://localhost:9200/_analyze/

参数:

{
  "analyzer": "ik_max_word",
  "text": "这是一个开心的故事"
}

请求方式: post

ik_smart  分词结果:

ik_max_word 分词结果

增加测试索引 测试分词查询:

 

在7.6.2 的 es 中增加mapping 映射如果带上 类型会报错:如截图

去掉type 之后是可以写入成功的:如图

{
  "mappings": {
    "properties": {
      "id": {
        "type": "long",
        "store": true
      },
      "title": {
        "type": "text",
        "store": true,
        "analyzer": "ik_smart"
      },
      "content": {
        "type": "text",
        "store": true,
        "analyzer": "ik_smart"
      }
    }
  }
}

然后插入几条数据,进行不同的查询测试:

7.6.2 插入数据的时候也需要指定 类型_doc  否则会报错,如图:

加上_doc 后 可以正常插入

插入的数据内容如图:

通过term 查询 只查询到了两个, _id  为 3 4 5 的没查询到,下面找一下原因:

 

通过分词 可以看出来原因,因为_id 3 4 5  的内容 分词 没有分出来 ‘歌曲’,只分出来了‘首歌曲’

使用query_string 查询,query_string 输入的关键词会进行分词后再进行匹配:

{
  "query": {
    "query_string": {
      "default_field": "title",
      "query": "歌曲"
    }
  }
}

解决上面歌曲查不到的情况,增加扩展词:

配置引用扩展词文件:

重启 es 重启es 是为了 让后来加的 扩展词生效:

重启后 需要重新生产索引文件 ,才可以使 扩展词在索引中生效;使用_reindex

重新生成后,再次使用query_string 查询 ,就可以查询到_id 为 3  4  5  的数据了

{
  "query": {
    "query_string": {
      "default_field": "title",
      "query": "歌曲"
    }
  }
}

 

增加扩展词之后 通过analyze 也可以看到效果,加之前是分不出来  歌曲  的;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值