J'essaye de mettre à jour un document indexé existant. J'ai indexé les étiquettes, le titre et le champ des propriétaires. Maintenant, lorsque l'utilisateur change le titre, je dois trouver et mettre à jour le document dans l'index.Comment mettre à jour un document existant dans l'index ElasticSearch à l'aide de NEST?
Dois-je mettre à jour et remplacer le document entier ou seulement le champ de titre?
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);
}
Cela ne fonctionne tout simplement pas. Le code ci-dessus génère une erreur de syntaxe. Est-ce que quelqu'un connaît la bonne façon de faire cela en utilisant le client C# NEST d'ElasticSearch?
updateDoc.Title = "Mon nouveau titre"; n'est pas correct, il donne une erreur de syntaxe. Je vais essayer quelques façons différentes – kheya
dynamique MyDynamic = new System.Dynamic.ExpandoObject(); est comment je l'ai fait – kheya
Comment obtenez-vous le 'doc.Id'? Dois-je d'abord demander un document? – JedatKinports