在一个索引中具有不同类型的ElasticSearch字段

czfnxgou  于 2022-11-02  发布在  ElasticSearch
关注(0)|答案(1)|浏览(146)

我们在一个接受多种类型数据的服务中有一个场景,我们希望将其存储在ElasticSearch中,以便能够从其搜索功能中获益。
数据可以是字符串、数字、对象或对象数组,如下所示:

POST my-index/_doc/1
{
  "additionalData": [
    {
      "values": {
        "some-field": "some-value",
        "some-other-field": "some-value"
      }
    }
  ]
}

POST my-index/_doc/1
{
  "additionalData": [
    {
      "values": [12345, 9875]
    }
  ]
}

POST my-index/_doc/1
{
  "additionalData": [
    {
      "values": "Some text"
    }
  ]
}

有没有一种方法可以将其存储在elasticSearch中?或者更好地存储在Mongodb等其他NoSQL数据库中?
PS:我们正在使用ES 7.x,并希望继续使用ES。

insrf1ej

insrf1ej1#

如果您不需要搜索这些值,则可以使用禁用字段(即未索引、未存储)
然而,如果你想搜索这些值,这是不可能的。每个字段必须有一个特定的类型(对象,数字,文本等),然后你只能在字段中存储该类型的值。

相关问题