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.自定义分词器

待补充

相关推荐
知其然亦知其所以然2 分钟前
SpringAI + Groq 实战:3 分钟教你搭建超快聊天机器人!
java·后端·openai
阿波罗尼亚16 分钟前
ExcelUtils实现 设置内容 插入行 复制行列格式
java·开发语言
Monkey-旭24 分钟前
Android 定位技术全解析:从基础实现到精准优化
android·java·kotlin·地图·定位
带刺的坐椅24 分钟前
Solon StateMachine 实现状态机使用示例详解
java·solon·状态机
Yyyy48238 分钟前
MyCAT高可用
java·运维
华仔啊1 小时前
final在Java中到底有啥用?5个实际场景告诉你
java·后端
the beard1 小时前
Maven 入门与进阶:聚合、继承与生命周期详解
java
csdn_aspnet1 小时前
解决 Spring Boot 应用程序中的“无法配置数据源”错误
java·spring boot
灵魂猎手2 小时前
9. Mybatis与Spring集成原理解析
java·后端·源码
AAA修煤气灶刘哥2 小时前
避坑!线程 / 线程池从入门到华为云实战,面试官听了都点头
java·后端·面试