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就引入了textkeyword,其中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(默认)
原文地址:https://www.cnblogs.com/danmao/p/11154216.html