index:GET task_results/_search/
普通查询:{"query": {"bool": {"must": [{"match": {"task_id": "1363bb4a03e0ee456345edc70b381f04e01064a42773576e3fe8810b0fd9df42"}}]}}}
json嵌套查询:{"query": {"nested":{"path":"cloud_result","query":{"bool":{"must":[{"match":{"cloud_result.label":113718644}}]}}}}}
(资料图)
range 查询:{"from":0,"size":10,"query": {"nested":{"path":"cloud_result","query":{"bool":{"must":[{"match":{"cloud_result.label":113718644}},{"range":{"cloud_result.confidence":{"gte":0.8}}}]}}}}}
同时查询多个值,类型mysql中的in:{"query": {"bool": {"must": [{"match": {"project_id": "1"}},{"terms":{"incident_type":[1,2]}}]}}}
排序:{"from":0,"size":10,"query": {"nested":{"path":"cloud_result","query":{"bool":{"must":[{"match":{"cloud_result.label":113718644}},{"range":{"cloud_result.confidence":{"gte":0.8}}}]}}}},"sort":{"create_at":{"order":"desc"}}}
json嵌套+普通字段查询:{"query":{"bool" : {"must" : [{"nested" : {"path" : "cloud_result","query" : {"term" : {"cloud_result.label" :113718644 }} }},{"term" : {"project_id" : 29 } }]}}}
match和term查询的区别match
term
bool联合查询
es聚合查询:https://blog.csdn.net/qq_43588909/article/details/126381390
根据project_id分组:{ "size": 0,"aggs": {"aggs.demo01": {"terms": {"field": "project_id","size": 10,"order": {"_count": "asc" // 根据统计条数升序,desc降序}}}}}
聚合后having:{"size": 0,"aggs": {"groupName": {"terms": {"field": "source"},"aggs": {"countSource": {"terms": {"field": "source", "order": {"_count": "asc"}}},"having": {"bucket_selector": {"buckets_path": {"orderCount": "_count"},"script": {"source": "params.orderCount >1 "}}}}}}}
基于查询结果聚合: 查询project_id=12 and cloud_result.label=694547 group source{ "size": 0,"query":{"bool": {"must":[{"nested":{"path": "cloud_result","query":{"match":{"cloud_result.label" :694547}}}},
]}
},"aggs": {"groupName": {"terms": {"field": "source"},"aggs": {"countSource": {"terms": {"field": "source", "order": {"_count": "asc"}}},"having": {"bucket_selector": {"buckets_path": {"orderCount": "_count"},"script": {"source": "params.orderCount >1 "}}}}}}}
聚合后查询:{"query": {"range": {"Price": {"gte": 50,"lte": 500}}},"aggs": {"tags_bucket":{"terms": {"field": "Tags.keyword"}}},"post_filter": {"term": {"Tags.keyword": "营养"}}}
1.覆盖式更新(会把旧数据替换掉)PUT student-001/_doc/1?refresh=true{"id": 1,"name": "student-1","year": 1}
2.部分更新把 id 为1的数据的 name 字段更新POST student-001/_update/1?refresh=true{"doc": {"name": "student-123"}}
如果数据不存在,则作为新数据添加;如果数据已经存在,则更新旧数据,那么我们可以添加参数 doc_as_upsertPOST student-001/_update/1?refresh=true{ "doc": { "name": "student-23" }, "doc_as_upsert": true}使用脚本的方式来更新数据POST student-001/_update/1?refresh=true{ "script": { "source": "ctx._source.name="student-1"" }}
批量添加数据:PUT _bulk{"index":{"_index":"student-001","_id":1}}{"id": 1,"name": "student-1","year": 1}{"index":{"_index":"student-001","_id":2}}{"id": 2,"name": "student-2","year": 2}{"index":{"_index":"student-001","_id":3}}{"id": 3,"name": "student-3","year": 3}{"index":{"_index":"student-001","_id":4}}{"id": 4,"name": "student-4","year": 1}{"index":{"_index":"student-001","_id":5}}
根据查询条件删除:POST task_results/_delete_by_query{"query": {"bool": {"must": [{"match": {"project_id": 12}},{"match": {"organization_id": "maint"}}]}}}