[英]ElasticSearch NEST - Using client.Get to get search for a document across all indexes
使用 NEST v6.4.2
我需要使用 client.Get API 來獲取一個文檔,該文檔搜索所有索引而不是一個索引。
我的代碼如下所示:
var client = // intiialize elasticsearch client here
var id = // some document id
// the call to client.Get below fails as "" is not a valid index name
// I have also tried passing "*", Indicies.All, Indices.AllIndices, etc but nothing works
var document = client.Get<dynamic>(new GetRequest("", "_all", id));
以前有人這樣做過嗎? 文檔似乎表明您可以使用 client.Search API 執行此操作,但這對於檢索單個文檔並不是最佳選擇,因此我希望盡可能避免。
謝謝
來自 elasticsearch 6.x 的文檔
單索引 API(例如 Document API 和單索引別名 API)不支持多個索引。
但是您可以對_id
字段進行術語查詢以根據 id 檢索文檔
var response = await client.SearchAsync<dynamic>(s => s
.AllIndices()
.AllTypes()
.Query(q => q.Term("_id", "1")));
希望有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.