我是彈性搜索領域的新成員。在elasticsearch中查詢複雜文檔Elasticsearch
我們正在處理我們的項目中存在的複雜文檔,這些文檔存儲在我們的elasticsearch數據庫中。
這是我們的文檔的一部分:
{
"AAA":[
{
"SSS":{
"Description":{
"Detail":[
{
"Name":"A9",
"Infos":"...."
},
{
"Name":"A8",
"Infos":"...."
},
{
"Name":"A7",
"Infos":"...."
},
{
"Name":"A6",
"Infos":"...."
},
{
"Name":"A5",
"Infos":"...."
},
{
"Name":"A4",
"Infos":"...."
},
{
"Name":"A3",
"Infos":"...."
},
{
"Name":"A2",
"Infos":"...."
},
{
"Name":"A1",
"Infos":"...."
}
]
}
}
}
]
}
我想返回的「相關信息」 &「名稱」具體到"Name":"A1"
爲example.I領域不想來顯示所有的表的查詢JSON對象的詳細信息,但只是對象,其中"Name":"A1"
。 在其他方面,我想返回該文檔的這一部分的查詢:
{
"AAA":[
{
"SSS":{
"Description":{
"Detail":[
{
"Name":"A1",
"Infos":"...."
}
]
}
}
}
]
}
我使用elasticsearch 5.4 這是我使用的映射:
{
"mappings":{
"-----":{
"properties":{
"AAA":{
"type":"nested",
"properties":{
"SSS":{
"properties":{
"Description":{
"properties":{
"Detail":{
"type":"nested",
"properties":{
"Infos":{
"type":"keyword"
},
"Name":{
"type":"keyword"
}
}
}
}
}
}
}
}
}
}
}
}
}
這是兩個疑問我試着但它沒有工作:
GET /******/******/_search
{
"_source":["AAA.SSS.Description.Detail.Name","AAA.SSS.Description.Detail.Infos"],
"query": {
"query_string" : {
"default_field" : "AAA.SSS.Description.Detail.Name",
"query" : "A1"
}
}
}
GET /******/******/_search
{
"_source":["AAA.SSS.Description.Detail.Name","AAA.SSS.Description.Detail.Infos"],
"filter": [
{ "term": { "AAA.SSS.Description.Detail.Name": "A1" }}
]
}
我想一整天,它沒有爲我工作。 任何人都可以幫助我。 在此先感謝。
你'AAA.SSS.Detail'字段可能不是嵌套的。您應該閱讀以下內容,並瞭解如何使其工作:https://www.elastic.co/guide/en/elasticsearch/reference/current/nested.html – Val
這是我正在使用的映射: 「映射」:{ 「-----」:{ 「屬性」:{ 「AAA」:{ 「類型」: 「嵌套」, 「屬性」:{ 「SSS」: { 「屬性」:{ 「描述」:{ 「屬性」:{ 「詳細信息」:{ 「類型」: 「嵌套」, 「屬性」:{ 「的相關信息」:{ 「類型」 :「keyword」}, 「名稱」:{ 「類型」: 「關鍵詞」}, }} } } } } } } } } } 你 –
能告訴到目前爲止,你已經嘗試了什麼問題? – Val