在Elasticsearch中,如果我們需要查詢一個嵌套json數據,我們需要使用nested
類型的索引。假設我們有如下的數據:
{ "name": "張三", "age": 20, "address": { "city": "上海", "street": "xx路" } }
如果我們想要查詢地址為上海的記錄,我們可以使用以下的查詢語句:
{ "query": { "nested": { "path": "address", "query": { "bool": { "must": [ { "match": { "address.city": "上海" } } ] } } } } }
在上面的查詢語句中,我們使用了nested
類型的查詢,并指定了需要查詢的路徑為address
。在查詢語句中,我們使用了match
查詢來查詢address.city
為上海的記錄。如果我們想要查詢街道為xx路
的記錄,我們可以使用下面的查詢語句:
{ "query": { "bool": { "must": [ { "nested": { "path": "address", "query": { "match": { "address.street": "xx路" } } } } ] } } }
在上面的查詢語句中,我們使用了nested
類型的查詢,并指定了需要查詢的路徑為address
。在查詢語句中,我們使用了match
查詢來查詢address.street
為xx路的記錄。
總之,如果我們需要查詢一個嵌套json數據,我們需要使用nested
類型的索引并進行相應的查詢。以上就是關于es查詢json嵌套json的文章,希望能對大家有所幫助。
上一篇python 獲取中位數
下一篇mysql初始化創建用戶