001 ElasticSearch7.x 、IK分词器、Kibana 环境搭建、安装

ElasticSearch 7.x

文章目录

1.windows环境安装

es下载地址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch

ik分词器下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases

Kibana下载地址: https://www.elastic.co/cn/downloads/past-releases#kibana

注意:

  • 本文测试基于7.9.0版本,推荐springboot版本2.4以上,本文使用springboot版本为2.7
  • 下载时保证es,ik分词器及kibana版本一致,否则可能出现启动问题,
  • 分词器建议使用官方的安装方式,解压可能会启动失败
  • 7.x版本需要jdk环境为1.8以上,如果是8.x则需要jdk17以上环境,否则启动失败

1.ik分词器安装

进入es解压目录通过终端执行安装命令

shell 复制代码
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.0/elasticsearch-analysis-ik-7.9.0.zip

2.es启动

es解压后启动bin下的elasticsearch.bat即可

shell 复制代码
./bin/elasticsearch.bat

访问 http://127.0.0.1:9200/ 验证是否启动成功

3.Kibana启动

解压后启动bin下的kibana.bat即可

复制代码
./bin/kibana.bat

kibana访问地址

复制代码
http://127.0.0.1:5601/

2.Linux环境安装

待补充

3.分词器

ES 中处理分词的部分被称作分词器,英文是Analyzer,它决定了分词的规则。ES 自带了很多默认的分词器,比如Standard、Keyword、Whitespace等等,默认是Standard。当我们在读时或者写时分词时可以指定要使用的分词器

1.分词测试

测试hello world 是如何分词的

shell 复制代码
POST _analyze
{
  "analyzer": "standard",
  "text": "hello world"
}

2.ES中默认分词器

  • Standard Analyzer - 默认分词器,按词切分,小写处理
  • Simple Analyzer - 按照非字母切分(符号被过滤), 小写处理
  • Stop Analyzer - 小写处理,停用词过滤(the,a,is)
  • Whitespace Analyzer - 按照空格切分,不转小写
  • Keyword Analyzer - 不分词,直接将输入当作输出
  • Patter Analyzer - 正则表达式,默认\W+(非字符分割)
  • Language - 提供了30多种常见语言的分词器
  • Customer Analyzer 自定义分词器

查看地址列分词情况:

shell 复制代码
GET news/_analyze
{
  "field": "address",
  "text": "198 mill lane"
}

执行结果

shell 复制代码
{
  "tokens" : [
    {
      "token" : "198",
      "start_offset" : 0,
      "end_offset" : 3,
      "type" : "<NUM>",
      "position" : 0
    },
    {
      "token" : "mill",
      "start_offset" : 4,
      "end_offset" : 8,
      "type" : "<ALPHANUM>",
      "position" : 1
    },
    {
      "token" : "lane",
      "start_offset" : 9,
      "end_offset" : 13,
      "type" : "<ALPHANUM>",
      "position" : 2
    }
  ]
}

这些分词器默认都是对英文进行分词,如果是中文就会出现每个汉字进行分词

3.IK分词器

由于默认都是英文分词,所有需要安装中文分词插件,安装后可以进行中文分词

  • ik_smart,智能分词,会做最粗粒度的拆分
  • ik_max_word,最细粒度拆分
shell 复制代码
POST _analyze
{
  "analyzer": "ik_smart"
  , "text": "我是中国人"
}

4.自定义分词器

待补充

相关推荐
考虑考虑3 小时前
Jpa使用union all
java·spring boot·后端
用户3721574261353 小时前
Java 实现 Excel 与 TXT 文本高效互转
java
浮游本尊4 小时前
Java学习第22天 - 云原生与容器化
java
渣哥6 小时前
原来 Java 里线程安全集合有这么多种
java
间彧6 小时前
Spring Boot集成Spring Security完整指南
java
间彧6 小时前
Spring Secutiy基本原理及工作流程
java
Java水解8 小时前
JAVA经典面试题附答案(持续更新版)
java·后端·面试
洛小豆10 小时前
在Java中,Integer.parseInt和Integer.valueOf有什么区别
java·后端·面试
前端小张同学10 小时前
服务器上如何搭建jenkins 服务CI/CD😎😎
java·后端
ytadpole10 小时前
Spring Cloud Gateway:一次不规范 URL 引发的路由转发404问题排查
java·后端