如何在Elasticsearch中有效地存储表格数据?

时间:2017-08-31 10:19:16

标签: elasticsearch

我应该在Elasticsearch中保存以下数据:

  mytypes = {
        'type1': (
            date(2015, 3, 12),
            date(2015, 5, 6)
        ),
        'type2': (
            date(2015, 4, 11),
            date(2015, 4, 14),
            date(2015, 4, 20)
        )
    }

我不确定Elasticsearch中有效的数据结构是什么。例如,我为type1创建了以下示例数据结构,但它看起来对我来说太难了。有没有更灵活的方法在Elasticsearch中存储这种数据?

PUT myconstants
{
    "mappings": {
      "type1": {
      "_all": {
        "enabled": true
      },
        "properties": {
          "date1": {
            "type":"date"
          },
          "date2": {
            "type":"date"
          }
        }
      } 
    }
}

1 个答案:

答案 0 :(得分:0)

您可以使用单个字段,并可以将数组索引到该字段。所以你可以像这样放置你的映射:

PUT myconstants
{
  "mappings": {
    "type1": {
    "_all": {
      "enabled": true
    },
    "properties": {
      "dates": {
        "type":"date"
      }
    } 
  }
}

然后添加一个包含多个日期的文档:

PUT myconstants/type1/1
{
  "dates": ["2017-01-01", "2017-01-02"]
}