我想更新現有的索引文檔。 我有索引標籤,標題和所有者字段。現在,當用戶更改標題時,我需要查找並更新索引內的文檔。如何使用NEST更新ElasticSearch索引內的現有文檔?
我應該更新並替換整個文檔還是僅替換標題字段?
public void UpdateDoc(ElasticsearchDocument doc)
{
Uri localhost = new Uri("http://localhost:9200");
var setting = new ConnectionSettings(localhost);
setting.SetDefaultIndex("movies");
var client = new ElasticClient(setting);
IUpdateResponse resp = client.Update<ElasticsearchDocument, IndexedDocument>(
d => d.Index("movies")
.Type(doc.Type)
.Id(doc.Id), doc);
}
它只是不起作用。上面的代碼會生成語法錯誤。 有誰知道使用ElasticSearch的C#NEST客戶端執行此操作的正確方法?
updateDoc.Title = 「我的新稱號」;是不正確的,它給語法錯誤。我會嘗試幾種不同的方式 – kheya
動態MyDynamic = new System.Dynamic.ExpandoObject();我是如何做到的 – kheya
如何獲得'doc.Id'?我必須先查詢文件嗎? – JedatKinports