知识储备

学习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标签:

最新文章

  1. C# 验证类(使用正则表达式 验证文本框)
  2. 学习微信小程序之css8
  3. ROS学习笔记(五)——建立工作空间
  4. js触发按钮点击事件
  5. 三、Python 变量、运算符、表达式
  6. Mariadb 在centos 7下的安装配置
  7. Sql server For XML Path 学习
  8. Android——打造万能适配器(CommonAdapter)
  9. Oracle EBS-SQL (MRP-6):检查MRP计划运行报错原因之超大数据查询1.sql
  10. 使用block实现两个页面之间的传统价值观
  11. js--事件对象的理解3
  12. 今天筹备了一件大事:重学JS
  13. StringRedisTemplate常用操作
  14. SQL Server 2017 安装详解
  15. Using async-await on .net 4
  16. 支持flash in Chrome 2017
  17. tessaract ocr简介
  18. 关于C++11中的std::move和std::forward
  19. 【js】indexOf()
  20. PCIE知识点

热门文章

  1. tag的使用
  2. eclipse中部署web项目时报错java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener的解决方法
  3. RabbitMQ、Kafka、RocketMQ的优劣势
  4. 学了java,我才发现台球还可以这样玩!
  5. Web基础了解版12-上传下载
  6. HBase学习笔记(四)—— 架构模型
  7. 在.NET Core中批量注入Grpc服务
  8. 类加载器在Tomcat中的应用
  9. CF1200E Compress Words | 字符串hash
  10. 2019HDU多校第四场题解