1
嗨執行嵌套搜索我想用elasticsearch DSL文檔字段已經嵌套在它的JSON數據,所以我想從它特定的嵌套鍵值等,以執行嵌套搜索 -使用elasticsearch DSL
下面是文檔: -
{
"_index" : "data",
"_type" : "users",
"_id" : "15",
"_version" : 1,
"found" : true,
"_source" : {
"data" : {
"Gender" : "M",
"Marks" : "80",
"name" : "Mayank",
"Address" : "India"
},
"last_updated" : "2017-04-09T01:54:33.764573"
}
}
我只想要存儲在數組中的字段值。
fields_want = [ '名稱', '標記']
輸出應該是這樣的 - > { 「名稱」: 「Mayank」, 「標誌」: 「80」}
Elasticsearch DSL文檔很難理解和對我來說。 https://elasticsearch-dsl.readthedocs.io/en/latest/search_dsl.html#
的Dsl代碼: -
client = Elasticsearch()
s = Search(using=client, index="data") \
.query("match", _type="users") \
.query("match", _id=15)
response = s.execute()
for hit in s:
print(hit.data)
從這個代碼,我可以得到的數據字段下的整個JSON對象。
有人可以指導我嗎?
你是什麼意思 「{」 名 「:」 Mayank 「」標誌 「:」 80 「}」。根據你的說法,你不能說出彈性休息API來模擬響應。這違反了REST api設計。要過濾字段,您可以使用「stored_fields」。但響應的結構是有彈性的,並遵循REST API設計。 https://www.elastic.co/guide/en/elasticsearch/reference/current/search-request-stored-fields.html – user3775217
我不想構造響應,但可以在「數據」中看到嵌套字段鍵。 ''_source「:{」data「:{...},」last_updated「:」「}'。我只想從「數據」鍵ex得到特定的字段。 「名稱」鍵值或「標記」鍵值我的代碼返回整個「數據」鍵值,即「數據」鍵中的所有字段。 –