在Elasticsearch中使用JSON作為數據的文本格式是非常普遍的。但是,當你想要修改一條記錄的時候,往往不知道該怎么做。這里提供一些常用的方法。
首先,你需要找到要修改的記錄的ID。如果你不知道它的ID,你可以使用搜索功能來找到它。例如:
GET /your_index/_search { "query": { "match": { "name": "your_document_name" } } }
當你找到了這條記錄的ID之后,可以使用更新API來修改它。例如:
PUT /your_index/_doc/your_document_id/_update { "doc": { "name": "new_document_name" } }
以上代碼將會用新的文檔名稱來更新原有記錄。值得注意的是,以上代碼中的"_doc" 是默認的文檔類型。如果你使用其他類型,請替換"_doc"。
有時,你可能需要為一個字段的數組添加值。例如,你想在"tags"數組中添加一個新的標簽。可以使用以下代碼:
POST /your_index/_update/your_document_id { "script": { "source": "ctx._source.tags.add(params.tag)", "lang": "painless", "params": { "tag": "new_tag" } } }
以上代碼將會為"tags"數組添加一個新的標簽"new_tag"。如果你需要添加多個標簽,只需要調整"params"中的數組即可。
需要注意的是,以上代碼將會在服務器端執行。這意味著你需要為你的Elasticsearch集群配置足夠的內存和CPU資源。
上一篇python 蘇寧秒殺
下一篇vue和php交互