elastic-search请求
索引
- 查看所有索引
GET _cat/indices?v&pretty
- 查看索引信息
GET index_name/_mapping
- 插入索引
PUT index_name
{
"settings":{
"number_of_shards":1,
"number_of_replicas": 0
},
"mappings":{
"properties":{
"field_name":{
"type":"field_type"
},
"range_field":{
"type":"date_range",
"format":"yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
......
}
}
}
类型 | 特性 | 结构 | 场景 |
---|---|---|---|
text | 支持分词,全文检索,支持模糊、精确查询,不支持聚合,排序操作 | 最大支持的字符长度无限制,适合大字段存储 | 存储全文搜索数据, 例如: 邮箱内容、地址、代码块、博客文章内容等。默认结合standard analyzer(标准解析器)对文本进行分词、倒排索引。默认结合标准分析器进行词命中、词频相关度打分。 |
keyword | 不进行分词,直接索引,支持模糊、支持精确匹配,支持聚合、排序操作。 | keyword类型的最大支持的长度为——32766个UTF-8类型的字符,可以通过设置ignore_above指定自持字符长度,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果。 | 存储邮箱号码、url、name、title,手机号码、主机名、状态码、邮政编码、标签、年龄、性别等数据。 用于筛选数据(例如: select * from x where status='open')、排序、聚合(统计)。 直接将完整的文本保存到倒排索引中。 |
long、integer、short、byte、double、float、half_fliat、scaled_float | 数字 | ||
date、data_nanos | 日期 | ||
boolean | 布尔型 | ||
binary | 二进制类型 | 该字段默认情况下不存储,并且不可搜索。 | 该binary类型接受二进制值作为 Base64编码的字符串 |
integer_range、float_range、long_range、double_range、date_range | 范围类型 | 用于查询存储区间 | |
nested | 内联 |
- 删除索引
DELETE index_name
DELETE index_name1,index_name2
DELETE index_*
DELETE _all
- 修改索引
PUT index_name/settings
{
"number_of_replicas":1
}
数据
- 查询全部
GET index_name/_search
{
"size": 120,
"query": {
"match_all": {}
}
}
- 带条件查询
GET index_name/_search
{
"query": {
"term": {
"id": "1598150740876988418"
}
}
}
- 带条件查询-in
GET index_name/_search
{
"query": {
"terms": {
"id": ["1598150740876988418"]
}
}
}
- 插入数据
POST index_name/product
{
"field1":"",
"field2":"2022-12-12",
......
}
- 带条件删除
GET index_name/_delete_by_query?pretty
{
"query": {
"term": {
"id": "1598150740876988418"
}
}
}
- 带条件删除-in
GET index_name/_delete_by_query?pretty
{
"query": {
"terms": {
"id": ["1598150740876988418"]
}
}
}
- 修改
POST index_name/_update/{id}?refresh=true
{
"doc":{
"field":"value"
}
}
- 覆盖式更新
PUT index_name/_doc/{id}?refresh=true
{
"id": 1,
.....
}
- 修改不存在数据时,插入
POST index_name/_update/{id}?refresh=true
{
"doc":{
"field":"value"
},
"doc_as_upset":true
}
或者
POST index_name/_update/{id}?refresh=true
{
"script":{
"source": "ctx._source.field_name='field_value'"
}
}
标签:index,search,HTTP,name,elastic,GET,索引,range,id
From: https://www.cnblogs.com/lhns/p/16944277.html