gpt4 book ai didi

elasticsearch - 如何使用 elasticsearch-py 附加到 Elasticsearch 中的数组

转载 作者:行者123 更新时间:2023-12-02 22:44:27 26 4
gpt4 key购买 nike

使用官方 ElasticSearch Python library ( Docs )

我创建一个索引:

doc = {
"something": "123a",
"somethingelse": "456b",
"timestamp": datetime.now(),
"history": []
}
es.index(index="someindex", doc_type="somedoctype", id="someid", body=doc)

我想每次都将项目附加到历史记录中,而不是覆盖它们:
es.update(index="someindex", doc_type="somedoctype", id="someid",
body={"doc": {
"history": {
"123abc": "abc", "456def": "def", "timestamp": datetime.now()
}
}
})

我必须在第二个代码片段中更改什么才能将其附加到历史记录数组/列表中,而不是每次都覆盖它?

最佳答案

您可以使用 scripted updates在 Elasticsearch 中。要附加到数组,请尝试以下操作:

es.update(index="someindex", doc_type="somedoctype", id="someid",
body={
"script" : {
"source": "ctx._source.history.addAll(params.history)",
"lang": "painless",
"params" : {
"history" : ["item1","item2"]
}
}
})

关于elasticsearch - 如何使用 elasticsearch-py 附加到 Elasticsearch 中的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51384829/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com