弹性搜索:如何轻松地更新地图?

时间:2019-02-03 08:13:48

标签: python python-3.x elasticsearch elasticsearch-painless

我正在尝试像这样对帖子建模:

class Post:
    DOC_TYPE = "post"

    def __init__(self, name):
        self.name = name
        self.score_at = {}
        self.id = int(hashlib.sha1(name.encode("utf-8")).hexdigest(), 16) % (10 ** 8)

我的score是从dictstring的{​​{1}}映射的list

我想基本上模拟ints

的行为

在通过弹性搜索更新此帖子的背景下,我正在寻找一些使用defaultdict(list)(语言)脚本的方法示例。

特别是:

(1)如何将其从painless更改为{}

(2)如何将其从{"week1":[1,2] }更改为{"week1": [1,2]}

最后,我的python代码将如下所示

{week1":[1,2,3]}

我希望正确方向上的一两个指针。我看过update_dict = { "script": { "source": """" // the code to update score_at """ , "lang": "painless", } } client.update(id=post_id, body=update_dict) 的API文档,但我不清楚如何将所有这些组件结合在一起。

0 个答案:

没有答案