Sto tentando di aggiornare un documento indicizzato esistente. Ho tag indicizzati, titolo e campo proprietari. Ora, quando l'utente cambia il titolo, ho bisogno di trovare e aggiornare il documento all'interno dell'indice.Come si aggiorna un documento esistente all'interno dell'indice ElasticSearch usando NEST?
Devo aggiornare e sostituire l'intero documento o solo il campo del titolo?
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);
}
Semplicemente non funziona. Il codice sopra genera un errore di sintassi. Qualcuno conosce il modo corretto per farlo usando il client C# NEST di ElasticSearch?
updateDoc.Title = "Il mio nuovo titolo"; non è corretto, dà errore di sintassi. Proverò in vari modi – kheya
dinamico MyDynamic = new System.Dynamic.ExpandoObject(); è come l'ho fatto – kheya
Come si ottiene il 'doc.Id'? Devo prima cercare un documento? – JedatKinports