elasticsearch - elasticsearch ID 必须对类型或索引是唯一的吗?

标签 elasticsearch

Elasticsearch 允许您将 _type_index 一起存储。我想知道我是否要提供自己的 _id 它应该在整个索引中是唯一的吗?

最佳答案

在一起应该是唯一的

PUT so
PUT /so/t1/1
{}
PUT /so/t2/1
{}
GET /so/_search

{
   "took": 1,
   "timed_out": false,
   "_shards": {
      "total": 5,
      "successful": 5,
      "failed": 0
   },
   "hits": {
      "total": 2,
      "max_score": 1,
      "hits": [
         {
            "_index": "so",
            "_type": "t2",
            "_id": "1",
            "_score": 1,
            "_source": {}
         },
         {
            "_index": "so",
            "_type": "t1",
            "_id": "1",
            "_score": 1,
            "_source": {}
         }
      ]
   }
}

原因是:在不知道文档类型的情况下,您永远无法通过索引获取文档,并且使用索引范围的查询来查询 ES 将返回包含其类型索引的文档。

关于elasticsearch - elasticsearch ID 必须对类型或索引是唯一的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31747174/

相关文章:

elasticsearch - 聚合后过滤文档

ruby-on-rails - Searchkick上的搜索统计

elasticsearch - 在 Elasticsearch 中使用带有关键字数据类型的规范器会产生意想不到的结果

amazon-web-services - 创建访问策略以使用 IP 地址将 EC2 连接到 Elasticsearch

java - 在Spring中将包含json属性的实体保存到ElasticSearch

elasticsearch - Kafka 如何使用 SSL 连接 Elasticsearch?

elasticsearch - 使用logstash修改字段的内容

elasticsearch - Elasticsearch -查询字符串-根据自定义顺序返回结果

elasticsearch - 我们如何处理具有特定含义的 NULL 值?

elasticsearch - ElasticSearch如何与一个嵌套查询