基本概念

索引:
类似于MySQL的表。索引的结构为全文搜索作准备,不存储原始的数据。
索引可以做分布式。每一个索引有一个或者多个分片 shard。每一个分片可以有多个副本 replica。
文档:
类似与MySQL的一行记录。
映射:
所有文档写入索引之前,会进行分析, 分析将输入的文本进行分割为词条,分析哪些词条会被过滤。
文档类型:
每个文档都可以有不同的结构。
不同的文档类不能为相同的属性设置不同的类型。
【同一索引中所有文档类型中,一个title字段必须是相同的类型】

RestFul API 操作索引

1 创建索引

PUT:127.0.0.1:9200/test

{
"settings": {
"index": {
"number_of_shards": "2",
"number_of_replicas": "0"
}
}
}

2 删除索引

DELETE:127.0.0.1:9200/test

RestFul API 操作文档

1、添加数据

POST:/{索引}/{类型}/{id 非必需}

# 指定数据的唯一标示符
POST:127.0.0.1:9200/test/user/1001 {
"id": 1010,
"name": "张三",
"age": 10,
"sex": "男"
} # 不指定数据的唯一标示符
POST:127.0.0.1:9200/test/user {
"id": 1011,
"name": "张三",
"age": 11,
"sex": "男"
}

2、删除数据

DELETE:127.0.0.1:9200/test/user/1001
说明:
删除一个文档的时候不会立即从磁盘上移除,它只是被标记为已删除。
Elasticsearch 将会在以后添加更多索引的时候才会在后台进行删除内容的清理。

3、更新数据

在 Elasticsearch中,文档数据是不能被修改的,但是可以通过指定唯一标示符的方式进行覆盖更新【全量覆盖】
PUT:127.0.0.1:9200/test/user/1001 {
"id": 1010,
"name": "张三",
"age": 11,
"sex": "男"
} 【局部更新】
1、从旧文档中检索到JSON
2、修改
3、删除旧文档
4、索引新文档
POST:127.0.0.1:9200/test/user/1001/_update {
"doc":{
"age": 100
}
}

4、查询数据

 根据ID搜索数据【GET】127.0.0.1:9200/test/user/1001
获取所有数据默认10条【GET】127.0.0.1:9200/test/user/_search
根据关键词搜索数据【GET】127.0.0.1:9200/test/user/_search?q=age:100

5、DSL搜索

Elasticsearch提供的丰富的灵活的查询语言叫做DSL查询【Query DSL】
POST:127.0.0.1:9200/test/user/_search {
"query": {
"match": {
"age": 20
}
}
} filter 过滤
must 匹配

6、全文检索

POST:127.0.0.1:9200/test/user/_search

{
"query": {
"match": {
"name": "三 五"
}
}
}

7、高亮显示

POST:127.0.0.1:9200/test/user/_search

{
"query": {
"match": {
"name": "三 五"
}
},
"highlight": {
"fields": {
"name": {}
}
}
}

8、聚合操作,类似SQL中的 group by 操作

POST:127.0.0.1:9200/test/user/_search

{
"aggs": {
"all_interests": {
"terms": {
"field": "age"
}
}
}
}

ElasticSearch 基础入门 and 操作索引 and 操作文档的更多相关文章

  1. Elasticsearch 基础入门

    原文地址:Elasticsearch 基础入门 博客地址:http://www.extlight.com 一.什么是 ElasticSearch ElasticSearch是一个基于 Lucene 的 ...

  2. 【Lucene3.6.2入门系列】第14节_SolrJ操作索引和搜索文档以及整合中文分词

    package com.jadyer.solrj; import java.util.ArrayList; import java.util.List; import org.apache.solr. ...

  3. MongoDB(五):MongoDB操作文档

    本篇文章中将讲解如何使用MongoDB操作文档. 文档的数据结构和JSON基本一致,所有存储在集合中的数据都是BSON格式.BSON是一种类似json格式的一种二进制形式的存储格式,简称Binary ...

  4. ElasticSearch基础入门学习笔记

    前言 本笔记的内容主要是在从0开始学习ElasticSearch中,按照官方文档以及自己的一些测试的过程. 安装 由于是初学者,按照官方文档安装即可.前面ELK入门使用主要就是讲述了安装过程,这里不再 ...

  5. ElasticSearch使用C#操作文档

    一.ElasticSearch的.net客户端驱动程序 ElasticSearch官方网站提供了两个.net客户端驱动程序,其中Elasticsearch.Net是一个非常底层且灵活的客户端驱动程序, ...

  6. (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理

    介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...

  7. ElasticSearch基础入门

    1.query查询表达式 Elasticsearch 提供一个丰富灵活的查询语言叫做 查询表达式 , 查询表达式(Query DSL)是一种非常灵活又富有表现力的 查询语言,它支持构建更加复杂和健壮的 ...

  8. Elasticsearch基础入门,详情可见官方文档

    索引文档: 对于员工目录,我们将做如下操作: 每个员工索引一个文档,文档包含该员工的所有信息. 每个文档都将是 employee 类型 . 该类型位于 索引 megacorp 内. 该索引保存在我们的 ...

  9. Linux基础入门-文件系统操作与磁盘管理

    一.简单文件系统操作: df (-h) 查看磁盘容量: rootfs作为系统启动时内核载入内存之后,在挂载真正的磁盘之前的一个临时文件系统: /dev/sda2 对应主机硬盘的分区,后面的a表示第几块 ...

随机推荐

  1. fastjson到底做错了什么?为什么会被频繁爆出漏洞?

    GitHub 15.8k Star 的Java工程师成神之路,不来了解一下吗! GitHub 15.8k Star 的Java工程师成神之路,真的不来了解一下吗! GitHub 15.8k Star ...

  2. antd图标库按需加载的插件实现

    前景概要 antd是阿里出品的一款基于antd的UI组件库,使用简单,功能丰富,被广泛应用在中台项目开发中,虽然也出现了彩蛋事故,但不能否认antd本身的优秀,而我们公司在实际工作中也大量使用antd ...

  3. Python之 爬虫(十二)关于深度优先和广度优先

    网站的树结构 深度优先算法和实现 广度优先算法和实现 网站的树结构 通过伯乐在线网站为例子: 并且我们通过访问伯乐在线也是可以发现,我们从任何一个子页面其实都是可以返回到首页,所以当我们爬取页面的数据 ...

  4. Kubernetes部署通用手册 (支持版本1.19,1.18,1.17,1.16)

    Kubernetes平台环境规划 操作环境 rbac 划分(HA高可用双master部署实例) 本文穿插了ha 高可用部署的实例,当前章节设计的是ha部署双master 部署 内网ip 角色 安装软件 ...

  5. unity第一人称如何设置

    关系图 红色菱形:脚本 白色矩形:组件 移动代码 //移动代码 public CharacterController controller;//角色控制器 public float speed = 1 ...

  6. three.js 绘制3d地图

    通过地图数据配合three可以做出非常酷炫的地图,在大数据展示中十分常见. 这篇郭先生就来说说使用three.js几何体制作3D地图.在线案例点击原文地址. 地图的数据是各个地图块的点数组,通过THR ...

  7. 性能测试必备知识(4)- 使用 stress 和 sysstat

    做性能测试的必备知识系列,可以看下面链接的文章哦 https://www.cnblogs.com/poloyy/category/1806772.html stress 介绍 Linux 系统压力测试 ...

  8. UVA 10653.Prince and Princess

    题目 In an n * n chessboard, Prince and Princess plays a game. The squares in the chessboard are numbe ...

  9. 数据结构C语言实现----出队伍操作

    1.创建一个队列时,空队列中队首和队尾相同,但不是NULL,队首后面挂的元素才是NULL 2.打印队列时,对于链队列,不能把指针加一来找到下一个数据,因为链表地址不连续,需要复制一条链表,不断往后遍历 ...

  10. org.apache.commons.net.ftp.FTPConnectionClosedException: Connection closed without indication

    Ftp问题 最近遇到了ftp读取中文乱码的问题,代码中使用的是FtpClient.google一下找到了解决方案. FTP协议里面,规定文件名编码为iso-8859-1,FTP类中默认的编码也是这个. ...