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

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

1 安装window 环境es 7.6 

安装包链接:

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

下载后直接解压:

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第1张图片

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

运行window es

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第2张图片

2 使用head 插件连接 es

还是一个空的es 节点

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第3张图片

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 

报错截图:

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第4张图片

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第5张图片

5 启动后测试分词效果;

 

ik 有ik_smart    和 ik_max_word

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

参数:

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

请求方式: post

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第6张图片

ik_smart  分词结果:

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第7张图片

ik_max_word 分词结果

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第8张图片

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

 

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

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第9张图片

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

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

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第10张图片

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第11张图片

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

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

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第12张图片

加上_doc 后 可以正常插入

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第13张图片

插入的数据内容如图:

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第14张图片

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

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第15张图片

 

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

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第16张图片

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第17张图片

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

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

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第18张图片

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

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第19张图片

配置引用扩展词文件:

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第20张图片

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

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

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第21张图片

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

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

elasticsearch 7.6 windo 环境学习 ,Ik 安装 分词测试,同义词增加_第22张图片

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(多读书,多动手)