第一章 Elasticsearch简介

高扩展的分布式全文检索引擎,目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

全文检索引擎的核心倒排索引技术,先创建索引在进行搜索的一个过程

第二章 核心概念

Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而它不仅仅是存储,还会索引(index)每个文档的内容使之可以被搜索。在Elasticsearch中,你可以对文档(而非成行成列的数据)进行索引、搜索、排序、过滤。Elasticsearch比传统关系型数据库如下:

索引库(indexes)------------->数据库(Databases)
类型(type)------------------>数据表(Table)
文档(Document)-------------->行(Row)
字段(Field)----------------->列(Columns)
映射(mappings)-------------->DDL创建数

第三章 基本操作

据库表的语句:

实际开发中,有五种方式操作Elasticsearch服务:

  • 第一类:发送http请求(RESTful风格)操作:9200端口

    • 使用Postman发送请求直接操作。

    • 使用ElasticSearch-head-master图形化界面插件操作

    • 使用Elastic官方数据可视化的平台Kibana进行操作

  • 第二类:通过Java代码操作:9300端口

    • Elasticsearch提供的Java API 客户端进行操作。

    • Spring Data ElasticSearch 持久层框架进行操作。

1.创建索引库

PUT /heima

2.查看索引库

GET /heima

3.删除索引库

DELETE /heima

4.2 类型(type)及映射(mapping)操作

1.配置映射

给heima这个索引库添加了一个名为goods的类型,并且在类型中设置了4个字段:

  • title:商品标题

  • subtitle: 商品子标题

  • images:商品图片

  • price:商品价格

2.查看映射

GET /heima/goods/_mapping

4.3 文档操作

POST /heima/goods
{
    "title":"小米手机",
    "images":"http://image.leyou.com/12479122.jpg",
    "price":2699.00
}

2.查看文档

GET /heima/goods/EwVLY24BL4R5dXuhZ--1

3.自定义id新增文档

POST /heima/goods/1
{
    "title":"小米手机",
    "images":"http://image.leyou.com/12479122.jpg",
    "price":2699.00
}

4.修改文档

POST /heima/goods/1
{
    "title":"超米手机",
    "images":"http://image.leyou.com/12479122.jpg",
    "price":3899.00
}

5.删除文档

DELETE /heima/goods/1

6.发送请求批量操作_bulk

POST /heima/goods/_bulk
{ action: { metadata }}\n
{ request body }\n
{ action: { metadata }}\n
{ request body }\n
...

第四章 请求体查询

1、查询所有(match_all)

2、匹配查询(match)

match类型查询,会把查询条件进行分词,然后进行查询,多个词条之间是or的关系

3、多字段匹配查询(multi_match)

multi_matchmatch类似,不同的是它可以在多个字段中查询

4、关键词精确查询(term)

term查询,精确的关键词匹配查询,不对象查询条件进行分词

5、多关键词精确查询(terms)

terms 查询和 term 查询一样,但它允许你指定多值进行匹配。如果这个字段包含了指定值中的任何一个值,那么这个文档满足条件,类似于mysql的in:

6.结果过滤

默认情况下,elasticsearch在搜索的结果中,会把文档中保存在_source的所有字段都返回。如果我们只想获取其中的部分字段,我们可以添加_source的过滤

7、布尔组合(bool)

bool把各种其它查询通过must(必须 )、must_not(必须不)、should(应该)的方式进行组合

8、范围查询(range)

range 查询找出那些落在指定区间内的数字或者时间。range查询允许以下字符:

9、模糊查询(fuzzy)

fuzzy自动将拼写错误的搜索文本,进行纠正,纠正以后去尝试匹配索引中的数据。它允许用户搜索词条与实际词条出现偏差,但是偏差的编辑距离不得超过2:

10、单字段排序

sort 可以让我们按照不同的字段进行排序,并且通过order指定排序的方式。desc降序,asc升序。

11、多字段排序

假定我们想要结合使用 price和 _score(得分) 进行查询,并且匹配的结果首先按照价格排序,然后按照相关性得分排序:

12、高亮查询请求

ElasticSearch可以对查询内容中的关键字部分,进行标签和样式(高亮)的设置。

在使用match查询的同时,加上一个highlight属性:

  • pre_tags:前置标签

  • post_tags:后置标签

  • fields:需要高亮的字段

    • title:这里声明title字段需要高亮,后面可以为这个字段设置特有配置,也可以空

Elasticsearch01相关推荐

  1. 成长直通车---elasticsearch--01

    官网:elastic.co/cn/ es的核心概念. 索引 类型(不用了)  文档 字段 ----01-----02------03----- ES集群 挂一台机器的话.现在有6个节点. ---05- ...

  2. 拾忆Elasticsearch01:Elasticsearch概述及相关ES、IK分词器等下载安装

    为了防止老年痴呆记不住学过的Elasticsearch,在这里写点blog回顾一下 写在前面,建议下载以下出现的Elasticsearch版本,我之前下的7.6.1在这里找不到对应的springboo ...

  3. Kubernetes1.13.1部署Kuberneted-dashboard v1.10.1

    参考文档 https://kubernetes.io/docs/tasks/access-application-cluster/web-ui-dashboard/#deploying-the-das ...

  4. docker部署项目 入门版

    1 通用 1.1 权限 开启挂载目录权限 #开启目录权限 chmod a+rwx /usr/local/test#开启docker挂载权限 chmod a+rw /var/run/docker.soc ...

  5. 【ELK】ELK集群搭建(ElasticSearch Logstash Kinaba)

    1. Logstash 1.1 安装 注:安装在需要收集日志的机器上. cd /data/softs sudo wget https://download.elastic.co/logstash/lo ...

  6. 白话Elasticsearch72_利用HDFS备份与恢复ES生产集群的数据

    文章目录 概述 官方指导 hadoop hdfs分布式文件存储系统介绍 hdfs环境搭建 基于snapshot+hdfs进行数据备份 0.es集群数据备份的必要性 1.ES数据备份储存如何选择? 2. ...

  7. python连接es数据库_Python Elasticsearch API操作ES集群

    环境Centos 7.4 Python 2.7 Pip 2.7 MySQL-python 1.2.5 Elasticsearc 6.3.1 Elasitcsearch6.3.2 知识点调用Python ...

  8. Elasticsearch之配置详解

    Cluster 集群名称,默认为elasticsearch:  cluster.name: elasticsearch 设置一个节点的并发数量,有两种情况,一种是在初始复苏过程中:  cluster. ...

  9. SpringBoot高级-检索-Elasticsearch简介安装

    SpringBoot与检索,主要介绍使用ElasticSearch,包括我们来整合SpringBoot来进行操作,我们说全文检索功能,是我们现在非常常见的一个需求,我们这个开源的ElasticSear ...

最新文章

  1. 学习Angular前了解下TypeScript
  2. 一行代码快速搞定Flowable断点下载(中)
  3. webservice客户端开发
  4. java中抽象类和接口的作用与区别
  5. 国家的重视让少儿编程越来越火爆!
  6. msdn系统镜像下载
  7. 蚁群算法原理c语言,蚁群算法原理及其应用--详细介绍
  8. 如何给centos设置中文、如何给火狐浏览器设置中文
  9. 什么软件能测试电脑能不能玩lol,怎么判断自己的电脑能不能玩lol_电脑配置检测的方法 - 驱动管家...
  10. 一文带你秒懂数据结构与算法的三大要素、五大特征!
  11. 如何用 VS Code remote 插件编辑远程 linux 服务器上的文件
  12. 什么是百度搜索排名规则?百度排名怎么批量查询?
  13. 算法导论 3.2-1 关于单调递增函数的证明
  14. vim教程之基本使用
  15. 苹果年夜饭“全家桶”来了,给你不一样的新年味
  16. 老闪创业那些事儿(50)——校园招聘(下)
  17. win7卸载mcafee
  18. IDM下载百度网盘教程
  19. Jama Contour 轻量型企业需求管理工具
  20. DELL R720硬件故障

热门文章

  1. Vscode安装第三方库PyQt5和配置Qt
  2. Pytorch框架之优化器 Optimizer
  3. tp5 composer 安装扩展库
  4. 天气预报demo (ShareREC 官网 MobAPI)
  5. JStree 绘制文件树(1)—— JsTree使用Demo以及自定义图标更换
  6. Revit二次开发之获取当前电脑所有Revit版本
  7. scratch踢足球 电子学会图形化编程scratch等级考试一级真题和答案解析2022年9月
  8. Microsoft Excel 教程:如何在 Excel 中更改单元格的格式?
  9. 机器学习17:Faster R-CNN简介
  10. 领导暴怒发言:技术就是古代的叫花子,贱命一条!