Tôi đang cố gắng cập nhật tài liệu được lập chỉ mục hiện có. Tôi đã lập chỉ mục các thẻ, tiêu đề và trường chủ sở hữu. Bây giờ khi người dùng thay đổi tiêu đề, tôi cần tìm và cập nhật tài liệu bên trong chỉ mục.Làm cách nào để cập nhật tài liệu hiện có bên trong chỉ mục ElasticSearch bằng NEST?
Tôi có nên cập nhật và thay thế toàn bộ tài liệu hoặc chỉ trường tiêu đề không?
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);
}
Nó không hoạt động. Đoạn mã trên tạo ra lỗi cú pháp. Có ai biết cách chính xác để thực hiện điều này bằng cách sử dụng ứng dụng C# NEST của ElasticSearch không?
updateDoc.Title = "title mới của tôi"; không chính xác, nó cho lỗi cú pháp. Tôi sẽ thử vài cách khác nhau – kheya
động MyDynamic = new System.Dynamic.ExpandoObject(); là làm thế nào tôi đã làm nó – kheya
Làm thế nào để bạn có được 'doc.Id'? Tôi có phải truy vấn tài liệu trước không? – JedatKinports