1. 針對hive表中jsonObject類型的String數據
mapping中定義如下:
"esf_room": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
},
"norms": false
},
DSL查詢語句如下:
GET /hdp_teu_dia_face_smart_muid_20191111/_search
{
"query": {
"bool":{
"must": [
{"match": {
"esf_room": "一室"
}},
{
"term": {
"esf_room": {
"value": "1"
}
}
}
]
}
},
"_source": "esf_room"
}
這樣既可以查詢出esf_room中key爲“一室”的所有記錄,也可以通過term來查詢esf_room中key爲“一室”,並且值爲“1”的所有記錄。
2. 查詢出userPackageId字段(數組類型)中元素大於2的所有文檔
GET hdp_teu_dia_face_smart_wimei_20191114/_search
{
"query": {
"bool": {
"filter": {
"script": {
"script": {
"source": "doc['userPackageId'].length > 2",
"lang": "painless"
}
}
}
}
}
}
3. 查詢出當前索引下,_source中包含XX字段的所有記錄
GET hdp_teu_dia_face_smart_wuser_20200322/_search
{
"query": {
"exists": {
"field":"bicbdzp_service_begin_date"
}
}
}
好