Elasticsearch是一款強大的全文搜索引擎,它支持嵌套JSON對象。在Elasticsearch中,數據以JSON文檔的形式存儲和索引,這使得它非常靈活和易于使用。下面是如何在Elasticsearch中使用嵌套JSON對象。
PUT my_index/_doc/1
{
"name": "Alice",
"age": 25,
"contact": {
"email": "alice@gmail.com",
"phone": "+1 123 456 7890"
}
}
在這個例子中,我們存儲了一個人的信息,包括名稱、年齡和聯系方式。注意,聯系方式是一個嵌套的JSON對象,它包含電子郵件和電話號碼。
要搜索嵌套的JSON對象,我們可以使用點符號“.”來引用它。例如,要搜索所有電子郵件地址為“alice@gmail.com”的人,可以使用以下查詢:
GET my_index/_search
{
"query": {
"match": {
"contact.email": "alice@gmail.com"
}
}
}
這將返回所有包含“alice@gmail.com”電子郵件地址的人的結果。
需要注意的是,在Elasticsearch中,嵌套JSON對象的深度是有限制的。默認情況下,它是20層。如果你需要存儲更深的嵌套JSON對象,可以通過配置“index.mapping.depth.limit”參數來增加上限。
總之,Elasticsearch是一個功能強大的搜索引擎,支持嵌套的JSON對象。通過使用點符號來引用嵌套的字段,我們可以輕松地對嵌套JSON對象進行搜索和分析。