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

标签 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"
          }
        }
      } 
    }
}

最佳答案

您可以只使用一个字段,也可以为其索引数组。因此,您可以像这样放置映射:

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

然后添加带有多个日期的文档:
PUT myconstants/type1/1
{
  "dates": ["2017-01-01", "2017-01-02"]
}

关于elasticsearch - 如何在Elasticsearch中有效地存储表格数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45979017/

相关文章:

python - ES density_vector字段:必须指定 'dims'

linux - Debian PM2无法启动Elasticsearch服务器

elasticsearch - Lucene和Elasticsearch超出了文档限制

elasticsearch - ElasticSearch 中的索引数据相同但存储大小不同?

elasticsearch - Elasticsearch重新索引-unknown_host_exception

javascript - Elasticsearch Javascript客户端更新不起作用

php - Elasticsearch 基于嵌套对象的过滤和计数操作

php - Elasticsearch按查询删除多个术语

elasticsearch - 查询项和过滤器项在完全匹配时返回零结果,但是查询匹配返回结果。为什么?

linux - ubuntu 上的 Elastic Enterprise/App search 安装问题