ES基本语法
7.2.0版本
1 创建库
http://{ip}:{port}/{库名称} put
2 查询库
http://{ip}:{port}/_cat/indices?v get
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open test1 uB38fV7yR3ivRcvVrKbfbw 1 1 0 0 230b 230b
yellow open test 9tk0aHTYSMWkfGXnNdqjkA 1 1 0 0 283b 283b
yellow open secisland pSDO1Fp8Q62LHQvKEXVWlw 1 1 1 0 3.2kb 3.2kb
health:健康度
status:状态
index:索引库
uuid:唯一id
pri:主分片
docs.count:文档数量 docs.deleted:删除文档
3 插入数据
http://{ip}:{port}/test/testlog/1/ put
{
"computer":"secisland",
"message":"success"
}
4 修改文档
http://{ip}:{port}/test/testlog/1/_update/ post
{
"doc": {
"computer": "secisland",
"message": "this is success"
}
}
5 查询文档
http://{ip}:{port}/test/testlog/1/ get
6 删除文档
http://{ip}:{port}/test/testlog/1/ DELETE
7 删除库
http://{ip}:{port}/test/ DELETE
8 创建分片和副分片
http://{ip}:{port}/test_190720/ put
{"settings": {"index": {"number_of_shards": 4,"number_of_replicas": 3}}
或者
{"settings": {"number_of_shards": 4,"number_of_replicas": 3}
9 修改副本数量
http://{ip}:{port}/test_190720/ _settings/ put
{
"number_of_replicas": 1
}
10 删除索引
http://{ip}:{port}//test_190720/ delete
11 创建字段
http://{ip}:{port}/test_190720/ put
{
"mappings": {
"properties": {
"logs": {
"properties": {
"message": {
"type": "text"
},
"date": {
"type": "date"
}
}
}
}
}
}
注意:Elasticsearch从5.X就引入了text和keyword,其中keyword适用于不分词字段,搜索时只能完全匹配,这时string还保留着。
到了6.X就彻底移除string了。
另外,"index"的值只能是boolean变量了。
12 获取索引
http://{ip}:{port}/test_190720/ get
查询某个集合
http://192.168.1.10:9200/test_190720/_settings/ get
13 打开或关闭某个索引
打开 http://192.168.1.10:9200/test_190720/_open/ post
关闭 http://192.168.1.10:9200/test_190720/_close/ post
14 映射字段数据类型
字符类型:text
数字类型:long,integer,short,byte,double,float
日期类型:date
布尔型:boolean
二进制:binary
复杂数据类型包括:
数组类型:不需要专门的类型来定义数组
对象数据类型:object,单独的json对象
嵌套数据类型:nested,关于json对象的数组
地理数据类型:
地理点数据类型:geo_point,经纬点
地理形状数据类型:geo_shape,多边形的复杂地理形状
专门数据类型:
ipv4数据类型:ip协议为ipv4的地址
完成数据类型:completion,提供自动补全的建议
单词计树数据类型:token_count,统计字符串中的单词数量
不被分词:keyword
15 字符串数据类型
http://localhost:9200/test_190720/ put
{
"mappings": {
"properties": {
"logs": {
"properties": {
"message": {
"type": "text"
},
"status": {
"type": "keyword"
}
}
}
}
}
}
| 参数 | 说明 |
| analyzer | 分词器可以用于可讽刺的字符串类型字段,默认为默认的索引分词器或者标准分词器 |
| boost | 字段级索引加权。接受浮点型数字,默认值是1.0 |
| doc_values | 定义字段是否应该以列跨度的方式存储在磁盘上,以便用于排序、聚合或者脚本。接受true或false参数,默认值是true。可分词字段不支持这个参数 |
| fielddate | 决定字段是否可以使用内存字段值进行排序,聚合或者在脚本中使用。接受disable或者paged_bytes(默认)参数。没有分析过的字段会优先使用文档值 |
| ignore_above | 不要索引或执行任何长于这个值的字符串。默认为0(禁用) |
| include_in_all | 决定字段是否应该包含在_all字段中。接受true或者false参数。如果索引被设置为No或者父对象设置Include_in_all为false,参数默认值为False,其他情况下为True |
| index | 决定字段是否被用户搜索。接受参数analyzed(默认,视为全文字段),not_analyzed(作为关键字段)以及no |
| index_options | 定义存储在索引中,用于搜索和突出用途信息 |
| norms | 计算查询得分的时候是否应该考虑字段长度。默认依赖于索引设置:analyzed字段默认为{"enable":true,"loading":"lazy"}。not_analyzed字段默认为{"enable":false} |
| null_value | 接受一个字符串值替换所有null值。默认为Null,意味着字段作为缺失字段。如果字段是可分词(analyzed)的,null_value也会被分词 |
| posiition_increment_gap | 定义字符串数组中应该插入的虚拟索引词的数量。默认值为100,以一个较合理的值来阻止短语查询在跨字段匹配索引分词的时候溢出 |
| store | 决定字段值是否应该被存储以及以_source字段分别获取。接受参数true或false(默认) |
| search_analyzer | 指定搜索时用在可分词字段上的分词器 |
| search_quote_analyzer | 指定搜索短语时使用的分词器 |
| similarity | 指定使用的相似度评分算法,默认为TF/IDF |
| term_vector | 定义一个可分词字段是否应该存储索引词向量。默认为no |
16 数字类型
http://localhost:9200/test_190720/ get
{
"mappings": {
"properties": {
"logs": {
"properties": {
"message": {
"type": "text"
},
"status": {
"type": "keyword"
},
"id": {
"type": "integer"
}
}
}
}
}
}
| 参数 | 说明 |
| coerce | 试着将字符串型数据转换为整数型数字数据 |
| boost | 字段级索引加权,接受浮点型数字参数,默认为1.0 |
| doc_values | 定义字段是否应该以列跨度的方式存储在磁盘上,以便用于排序、聚合或者脚本。接受true(默认)或false参数 |
| ignore_malformed | 如果是true,畸形的数字会被忽略。如果是false(默认),畸形数字会抛出异常并丢弃整个文档 |
| include_in_all | 决定字段是否应该包含在_all字段中。接受true或false参数。如果索引被设置为No或者父对象字段设置include_in_all为false,参数默认值为false;其他情况下,默认值为true |
| index | 决定字段是否可以被用户搜索。接受参数Not_analyzed(默认)以及no |
| null_value | 接受与字段同类型的数字型值来代替null值。默认是null。意味着字段作为缺失字段 |
| precision_step | 控制索引的额外索引词的数量来使范围查询更快速。默认值取决于数字类型 |
| store | 决定字段值是否应该存储以及从_source字段分别获取。接受参数true或false(默认) |
ES基本语法的更多相关文章
- 009 webpack将ES高级语法进行装换
一:ES高级转换 1.main.js中的js不能解析 // js的主要入口 import $ from 'jquery' import './css/index.css' import './css/ ...
- Node.js 全栈开发(二)——ES 201x 新语法的使用之基础篇
在讲 ES 2015 新语法之前,先来说一下为什么叫 ES.JavaScript 是这门语言的名称,它有一个为它制定标准化的组织 European Computer Manufacturers Ass ...
- ES 07 - Elasticsearch查询文档的六种方法
目录 1 Query String Search(查询串检索) 2 Query DSL(ES特定语法检索) 3 Query Filter(过滤检索) 4 Full Text Search(全文检索) ...
- ES5 常用 语法(object Arrary 函数绑定this指向)
ES object 扩展 ES object 扩展1. <!DOCTYPE html> <html> <head> <link rel="short ...
- Kibana 搜索语法
Kibana 搜索语法 Kibana 支持三种搜索语法, 分别是 Lucene query 语法, 基于 json 的 ES query语法, 以及 Kuery 语法. 前两种语法可以直接使用, Ku ...
- es分页搜索
1.es分页语法GET /_search?from=起始数&size=页面显示条数例如:GET /test_index/test_type/_search?from=0&size=3 ...
- ES 可视化工具
1.ElasticSearch Head 用途:展示ES(集群)数据信息 视图:https://mobz.github.io/elasticsearch-head/ 下载:https://github ...
- ES使用中的总结整理
最近项目中使用了ES搜索,开始时自己搭建了ES环境做测试,后面申请了公司的云平台应用, 对接ES的过程中颇具波折,遇到了很多问题,在这里统一整理记录下: 1,ES的9200 及 9300端口说明 92 ...
- Babel:下一代Javascript语法编译器
定义 Babel是一个Javascript的编译器,通过它你可以将一些新版本的ECMAScript语法转换成低版本的语法.以便能够在低版本的浏览器或者其它环境平稳运行. 截至目前笔者写这篇文章的时候, ...
随机推荐
- 读取服务器的windows共享。。
有些windows共享可以直接登录,有些需要帐号密码帐号密码 有些电脑在输入框输入ip没有弹出登录帐号密码的地方 如下方法可以登录 输入:net use \\ip\ipc$ /del 回车.(例如:& ...
- 【Django入坑之路】基础操作(过滤,继承,跳转)
1:自定过滤器 1创建templatetags文件夹 2在里面创建自定义py文件:固定格式: from django import template from django.utils.safestr ...
- 使用pstack和gdb调试死锁
1:代码 下面是一个简单的能够发生死锁的代码: #include <unistd.h> #include <pthread.h> #include <string.h&g ...
- mysql原来是按自然日统计。怎么可以用今天10点到次日10点这样统计???
关于网友提出的" mysql原来是按自然日统计.怎么可以用今天10点到次日10点这样统计???"问题疑问,本网通过在网上对" mysql原来是按自然日统计.怎么可以用今天 ...
- iOS 9整理
WWDC 2015上那些酷酷的新内容(一) http://www.cocoachina.com/apple/20150611/12120.html
- iOS 设计 用户为王 - 关于征询授权、注册及加载等待的体验优化
你要做的东西一定要是你无比渴望这世界上能出现的东西,这股热情和能量将会融入到你的应用中,成为它腾飞的初速度,为你带来积极反馈.把自己当做app最重要的用户,这一点非常重要. http://www.co ...
- HZOJ Tree
看到换根果断lct啊,然而其实我板子还没有打熟,还不会维护子树信息,于是就挂掉了…… 然而正解并不是lct. 其实好像很久很久以前将lca的时候好像讲到过一道换根的题,当时没有听懂. 直接说正解吧: ...
- 13 -1 BOM和定时器
一 BOM JavaScript基础分为三个部分: ECMAScript:JavaScript的语法标准.包括变量.表达式.运算符.函数.if语句.for语句等. DOM:文档对象模型,操作网页上的元 ...
- vue 后期追回的属性不更新视图问题
this.$set(this.problemList[index], 'sub', []) 因为原始数组是有set,get而追加的没有,所以需要用这种方式 // 添加 this.$set(th ...
- 关于==和equals的探索
在我的概念之中,==在对比两个基本数据类型的时候,对比的是两者的值是否相同.而在对比两个引用数据类型的时候,比较的是两者的内存地址是否相同. 而equals方法,我一直认为这个方法是对比两个引用数据类 ...