ElasticSearch快速入门
知识储备
学习ElasticSearch之前可以先了解一下lucene,这里是我整理的一篇关于lucene的笔记(传送门),对搜索框架有兴趣的还可以了解一下另一款企业级搜索应用服务器---solr(传送门)
一.ElasticSearch概述
1.简介
ElasticSearch是一个基于Lucene的分布式搜索服务器,提供Restful API,采用shard(分片)的方式保证数据安全,并提供自动resharding的功能,github等大型站点就是采用了ES作为其搜索服务。目前开源的ES已经成为全球搜索引擎的首选,它可以快速的存储、搜索和分析海量数据。SpringBoot通过整合SpringData ElasticSearch为我们提供了非常便捷的检索功能支持。
二.ElasticSearch 安装
1.使用docker安装ES
docker pull registry.docker-cn.com/library/elasticsearch
2.使用docker启动ES
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5acf0e8da90b
说明:9200 是web通信端口,9300是分布式节点通信端口,ES默认占用2G的堆内存空间,一般直接启用的话,一定会报错,所以我们还要使用ES_JAVA_OPTS设置JVM堆内存大小。
2.测试ES是否启动
使用浏览器访问:虚拟机ip地址:9200若成功响应下面的json数据说明ES已经成功启动了。
三.ES的基本使用
ES官网为我们提供了详细的文档,而且很人性化地提供了中文文档,所以学习起来十分方便。
ES可以通过Restful API来CRUD数据,可以使用PostMan简单尝试一下。
1.存储一条文档
2.检索文档
检索数据使用get请求:
响应数据:
3.检测是否有该数据
使用head请求:
注意head请求没有返回响应体,可以通过返回的状态码判断是否存在数据,200表示有,404表示没有。
4.删除文档
使用delete请求可以删除文档:
5.更新文档
更新文档同样使用put请求,新的文档会将旧的文档覆盖:
返回的时候version版本变为2了,表示数据已经更新:
6.检索employee下的所有数据
注意:请求的时候要把body里的数据清空,不然会报下面的错误:
7.条件查询
查询last_name为Wang的员工。
也可以使用json条件查询,由于get没有请求体,可以改为用post请求:
8.更高级查询
查询last_name为Wang,并且年龄大于30的员工
9.全文检索
匹配about中含有hello或者w的员工信息。
10.短语搜索
想当于精确匹配,例如找到about为hello,world的员工信息。
11.高亮搜索
返回值里会为高亮的字段自动加上HTML标签:
最新文章
- C# 验证类(使用正则表达式 验证文本框)
- 学习微信小程序之css8
- ROS学习笔记(五)——建立工作空间
- js触发按钮点击事件
- 三、Python 变量、运算符、表达式
- Mariadb 在centos 7下的安装配置
- Sql server For XML Path 学习
- Android——打造万能适配器(CommonAdapter)
- Oracle EBS-SQL (MRP-6):检查MRP计划运行报错原因之超大数据查询1.sql
- 使用block实现两个页面之间的传统价值观
- js--事件对象的理解3
- 今天筹备了一件大事:重学JS
- StringRedisTemplate常用操作
- SQL Server 2017 安装详解
- Using async-await on .net 4
- 支持flash in Chrome 2017
- tessaract ocr简介
- 关于C++11中的std::move和std::forward
- 【js】indexOf()
- PCIE知识点
热门文章
- tag的使用
- eclipse中部署web项目时报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener的解决方法
- RabbitMQ、Kafka、RocketMQ的优劣势
- 学了java,我才发现台球还可以这样玩!
- Web基础了解版12-上传下载
- HBase学习笔记(四)—— 架构模型
- 在.NET Core中批量注入Grpc服务
- 类加载器在Tomcat中的应用
- CF1200E Compress Words | 字符串hash
- 2019HDU多校第四场题解