Python的ElasticSearch DSL:我如何代表一个领域是从字符串到整数列表的映射?

问题描述 投票:0回答:1

我想插入文档的结构如下:


post = {
          "day_1_scores": [1,2,3], 
          "day_2_scores":[4,5,6]
}

我知道,elasticsearch_dsl有几个自定义的数据类型,如DocumentInteger,但我不知道如何做一个地图,再从string映射到ints列表

例如,如果我想创建一个帖子一个名为string一个content属性,我会去:


class Post(Document):
    content = Text(analyzer='snowball', fields={'raw': Keyword()})

    def save(self, **kwargs):
        print("saving post")
        super(Post, self).save(**kwargs)


    class Index:
        name = 'blog'
        doc_type = "post"

当我需要将其插入到数据库,我会打电话给save方法。

但我想,是为这个职位有另一个属性:一个地图,再从string映射到ints列表

python python-3.x elasticsearch
1个回答
0
投票

在elasticsearch有对名单没有特别的映射。如果文件字段包含的值的列表,然后该字段类型是在列表中的项目的类型。

如果你是一个索引字段,以数​​字值和elasticsearch认为这是一个字符串,则该字段值包围引号。如果你无法控制所添加的报价,你可以将代码:1.添加映射到索引中,指出该字段是一个数字。 OR 2.新增“numeric_detection”的索引映射。

这两个选项会做你在找什么 - 考虑到特定领域为数字(哪怕是数组)

© www.soinside.com 2019 - 2024. All rights reserved.