ElasticSearch 基础入门 and 操作索引 and 操作文档
基本概念
索引:
类似于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 操作文档的更多相关文章
- Elasticsearch 基础入门
原文地址:Elasticsearch 基础入门 博客地址:http://www.extlight.com 一.什么是 ElasticSearch ElasticSearch是一个基于 Lucene 的 ...
- 【Lucene3.6.2入门系列】第14节_SolrJ操作索引和搜索文档以及整合中文分词
package com.jadyer.solrj; import java.util.ArrayList; import java.util.List; import org.apache.solr. ...
- MongoDB(五):MongoDB操作文档
本篇文章中将讲解如何使用MongoDB操作文档. 文档的数据结构和JSON基本一致,所有存储在集合中的数据都是BSON格式.BSON是一种类似json格式的一种二进制形式的存储格式,简称Binary ...
- ElasticSearch基础入门学习笔记
前言 本笔记的内容主要是在从0开始学习ElasticSearch中,按照官方文档以及自己的一些测试的过程. 安装 由于是初学者,按照官方文档安装即可.前面ELK入门使用主要就是讲述了安装过程,这里不再 ...
- ElasticSearch使用C#操作文档
一.ElasticSearch的.net客户端驱动程序 ElasticSearch官方网站提供了两个.net客户端驱动程序,其中Elasticsearch.Net是一个非常底层且灵活的客户端驱动程序, ...
- (大数据工程师学习路径)第一步 Linux 基础入门----文件系统操作与磁盘管理
介绍 本节的文件系统操作的内容十分简单,只会包含几个命令的几个参数的讲解,但掌握这些也将对你在学习后续其他内容的过程中有极大帮助. 因为本课程的定位为入门基础,尽快上手,故没有打算涉及太多理论内容,前 ...
- ElasticSearch基础入门
1.query查询表达式 Elasticsearch 提供一个丰富灵活的查询语言叫做 查询表达式 , 查询表达式(Query DSL)是一种非常灵活又富有表现力的 查询语言,它支持构建更加复杂和健壮的 ...
- Elasticsearch基础入门,详情可见官方文档
索引文档: 对于员工目录,我们将做如下操作: 每个员工索引一个文档,文档包含该员工的所有信息. 每个文档都将是 employee 类型 . 该类型位于 索引 megacorp 内. 该索引保存在我们的 ...
- Linux基础入门-文件系统操作与磁盘管理
一.简单文件系统操作: df (-h) 查看磁盘容量: rootfs作为系统启动时内核载入内存之后,在挂载真正的磁盘之前的一个临时文件系统: /dev/sda2 对应主机硬盘的分区,后面的a表示第几块 ...
随机推荐
- 关于gulp复制文件时把整个目录结构都复制的问题解决
有这么个场景,在开发时分模块开发,但是发布时不一定将按模块分布,比如,为了便于开发,图片是按照模块存放的,但是发布时只是放在images文件夹下,此时就需要用到本文中提到的插件gulp-flatten ...
- 转载--未看关于移动端Web远程开发调试
移动端Web开发调试之Chrome远程调试(Remote Debugging) http://blog.csdn.net/freshlover/article/details/42528643 移动端 ...
- 数据库基础02-MYSQL的事务
Mysql的事务 1.基本概念 事务本质是一组SQL操作,事务中的语句要么全部执行成功,或者全部执行失败. 2.如何保证一个事务:四个特性(ACID) 原子性 (Automic) ...
- 「线段树」「单点修改」洛谷P1198 [JSOI2008]最大数
「线段树」「单点修改」洛谷P1198 [JSOI2008]最大数 题面描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数, ...
- mysql数据库 创建、查看、重命名、复制和删除的基本操作
在数据库中,表是最重要.最基本的对象,是存储数据的基本单位.数据表从哪里来呢?数据表由关系模式转换而来.但不是简单的转换. 在设计表结构时要考虑下面几个方面: 字段名要通俗易懂且具有代表性,字段名不允 ...
- CVE-2020-5902 F5 BIG-IP 远程代码执行RCE
cve-2020-5902 : RCE:curl -v -k 'https://[F5 Host]/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd. ...
- DLL 函数导出的规则和方法
参考博客:https://blog.csdn.net/xiaominggunchuqu/article/details/72837760
- Linux系统安装JDK8
一.卸载现用的JDK 1.查看Linux自带的JDK是否已安装 查看是否安装openjdk,java -version (yum安装的 一般都是 OpenJDK 命令:yum install ...
- .Net Core微服务入门全纪录(八)——Docker Compose与容器网络
Tips:本篇已加入系列文章阅读目录,可点击查看更多相关文章. 前言 上一篇[.Net Core微服务入门全纪录(七)--IdentityServer4-授权认证]中使用IdentityServer4 ...
- LintCode笔记 - 82.落单的数
这一题相对简单,但是代码质量可能不是很好,我分享一下我的做题笔记以及做题过程给各位欣赏,有什么不足望各位大佬指出来 原题目,各位小伙伴也可以试着做一下 . 落单的数 中文English 给出 * n ...