Es 常用搜索
查看索引mapping
GET /ybyl_area_analysis/_mapping
删除索引
DELETE ybyl_award
新增映射
PUT /ybyl_award/_mapping
{
"properties": {
"lbs_md5": {
"type": "keyword"
}
}
}
查看某个字段的映射
GET /ybyl_award/_mapping/field/lbs_md5
#清空文档
POST /ybyl_behavior/_delete_by_query
{
"query": {
"match_all": {}
}
}
批量搜索
GET /ybyl_award/_msearch
{}
{"query":{"match":{"code":"308602c5667773d8b69cdeea46cd1233"}}}
{"index":"ybyl_behavior"}
{"query":{"match":{"code":"308602c5667773d8b69cdeea46cd1233"}}}
批量操作
POST /customer/_bulk?pretty
{"index":{"_id":"4"}}
{"name":"Hua 1","age":15}
{"index":{"_id":"5"}}
{"name":"Hua 2","age":17}
POST /customer/_bulk?pretty
{"update":{"_id":"4"}}
{"doc":{"name":"Hua 11","age":"34"}}
{"delete":{"_id":"5"}}
删除文档id=4
DELETE /customer/_doc/4?pretty
更新文档,不存在则添加
POST /customer/_doc/4?pretty
{
"name":"Zhun.li",
"age":32
}
更新文档, 只更新指定字段 1
POST /customer/_update/1?pretty
{
"doc":{
"name":"bing_test"
}
}
更新文档, 只更新指定字段 2
POST /customer/_update/1?pretty
{
"script":"ctx._source.age += 5"
}
搜索全部——排序
【from + size 文档上限 1W】
GET /customer/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"age": {
"order": "asc"
}
},
{
“Id”: {
"order": "asc"
}
}
],
"from": 0,
"size": 2
}
搜索 区间搜索
GET /test_award/_search
{
"query":{
"range": {
"update_time": {
"gte":1590480655
}
}
}
}
搜索, 多个must match
GET /test_award/_search
{
"query": {
"bool": {
"must": [
{“term”: {
"wx_openid": "7608b030db4dbc1d43760fd21e2a4bf1"
}},
{“term”:{
"award_type":"1"
}}
]
}
},
"from": 0,
"size": 1000
}
搜索 “like“ and “in”, 按多个区间进行过滤
GET /test_award/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"wx_openid": "7608b030db4dbc1d43760fd21e2a4bf1"
}
},
{
"terms": {
"award_type": [
"1",
"3"
]
}
}
],
"filter": [{
"range": {
"create_time": {
"gte": 1590422400,
"lte": 1590508799
}
}
},{
"range": {
"update_time": {
"gte": 1590422400,
"lt": 1590489014
}
}
}]
}
},
"from": 0,
"size": 1000
}
Scoll滚动搜索, "sort": [ "_doc" ] 会按_id(字符串)顺序排序
GET /ybyl_award/_search?scroll=1m
{
"query": {
"match":{
"wx_openid":"qDHprQMf+pbmcjKELsN0QATNmAAZFVxrvRaS3ZGMCmM="
}
},
"sort": [ "_doc" ],
"size": 2
}
GET /_search/scroll
{
"scroll": "1m",
"scroll_id": "DXF1ZXJ5QW5kRmV0Y2gBAAAAAAAY75cWQml4S0lzVWJRcS1XRl9hcGVTc1ZDUQ=="
}
lbs坐标范围搜索 - geo_distance
GET /test_award/_search
{
"query": {
"bool": {
"must": [{
"geo_distance": {
"distance": "1m",
"lbs": {
"lon": "116.408296",
"lat": "39.934962"
}
}
},
{"terms":{
"award_type":[1,2,3]
}
}
],
"must_not":{
"term":{
"award_name":"谢谢参与"
}
}
}
}
}
聚合搜索 aggs count(*)
【不指定size值,默认只显示10个】
#Where count(*) group by field
POST /ybyl_award/_search
{
"query": {
"bool": {
"must_not":{
"term":{
"award_name":"谢谢参与"
}
},
"filter":{
"range":{
"award_time":{
"lte":1591302574
}
}
}
}
},
"aggs": {
"award_name": {
"terms":{
"field":"award_name”,
"size":20
}
}
}
}
聚合搜索 aggs sum(field)
# sum(field2) group by field1
GET /ybyl_area_analysis/_search
{
"query": {
"match_all": {}
},
"aggs":{
"city":{
"terms":{
"field":"city"
},
"aggs":{
"total":{
"sum":{
"field":"award_num"
}
}
}
}
}
}