Elasticsearch

本文介绍了Elasticsearch的基础概念,包括下载、安装、启动及配置,并重点讲解了如何在Kibana中使用中文分词器。涵盖了启动步骤、跨域设置以及数据操作和查询技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


一、1. Elasticsearch是什么?

如果需要完成数量级较大搜索服务,传统数据库搜索会显得力不从心,性能和速度达不到真实业务需求,一般我们都会使用全文检索技术来进行替代。
常见的全文检索技术有:Solr、Elasticsearch等。
今天,我们要讲的是其中之一:Elasticsearch

2.概述

Elastic有一条完整的产品线:Elasticsearch、Kibana、Logstash等,前面说的三个就是大家常说的ELK技术栈。
Logstash 是动态数据收集管道,拥有可扩展的插件生态系统。也就是数据的收集,处理和储存。
Elasticsearch 是一个基于 JSON 的分布式搜索和分析引擎。也就是数据的检索和分析。
Kibana 可视化 Elastic Stack 的窗户(工具)。探索数据并管理堆栈。也就是数据的可视化

在这里插入图片描述

2.1下载

最新版本下载: https://www.elastic.co/cn/start.

历史版本下载1: https://www.elastic.co/cn/downloads/past-releases.
历史版本下载2: https://www.elastic.co/cn/downloads/past-releases#elasticsearch.

3 ,安装

解压即可

二、使用步骤

1.启动

确定启动文件,bin目录下elasticsearch.bat命令,是用于启动elasticsearch的
在这里插入图片描述
步骤1:启动,双击启动程序
在这里插入图片描述
启动成功后,绑定的端口
9300:集群节点间通讯接口
9200:客户端访问接口

步骤2:访问,http://localhost:9200/
在这里插入图片描述

1.2 如无法启动

黑窗口闪烁后关闭
修改config\ elasticsearch.yml文件,添加如下内容
xpack.ml.enabled: false

1.3 ElasticSearch常见配置

Elasticsearch基于Lucene的,而Lucene底层是java实现,学习过程中,建议将jvm参数修改小一些。
修改 config/jvm.options,

在这里插入图片描述

2.1 Kibana下载

下载历史版本: https://www.elastic.co/cn/downloads/past-releases#kibana.

2.2 Kibana安装

解压zip即可

2.3 启动

双击 /bin/kibana.bat 进行启动

在这里插入图片描述

2.4访问

http://localhost:5601

在这里插入图片描述

2.5 基本使用

在这里插入图片描述

2.6 中文分词器

分词与分词器
分词 Analysis:对文本进行分析,将全文本转换一系列单词的过程。
分词器Analyzer :分词Analysis通过分词器Analyzer实现的。
默认es不会对中文进行分词

安装IK分词器(支持中文分词)
IK分词器提供了源代码(maven项目),通过打包生产zip文件
https://github.com/medcl/elasticsearch-analysis-ik/releases
在这里插入图片描述

使用Kibana进行测试

POST _analyze
{
  "analyzer": "ik_max_word", 
  "text": ["我是中国人"]
}

3.1 head服务(可选)

步骤1:安装和启动head服务

在这里插入图片描述

4.1 跨域问题:elasticsearch支持跨域

在elasticsearch的config目录下,修改elasticsearch.yml文件,添加跨域内容
#Cross domain
http.cors.enabled: true
http.cors.allow-origin: "*"

5.简单测试

添加或更新数据

语法:数据存在更新;如果不存在添加(指定id)
PUT _index/_type/_id
{
  "属性": "值",
  ....
}

删除数据

语法:
DELETE _index/_type/_id

指定id查询

GET czxy/book/b001

指定id查询,检索指定内容

GET czxy/book/b001?_source=title,price
条件查询:复合查询(多条件查询)
bool:多条件拼接
must:必须
must_not:不含
should:可有可无
注意:must和should同时存在的时候,should将会变得不起作用

精确匹配

term 进行精确匹配(数据要求:数字、日期、布尔、not_analyzed的字符串(未分词))

范围查询

range 用于确定范围,gt 大于、lt 小于、gte大于等于、lte小于等于

总结

希望各位提出问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值