首页 > 解决方案 > Elastitcsearch 7:映射类型

问题描述

我遇到了以下短语,我的印象是带有类型的有效 6.x 查询可能会出错。我正在使用集群 ES 7.10

请注意,在 7.0 中,_doc 是路径的永久部分,表示端点名称而不是文档类型。

但是,令我惊讶的是,我能够运行以下查询。这是否意味着 _doc不是路径的永久部分?具体来说,当我从 6.x 迁移到 7.x 时,我需要修改什么样的查询

PUT ecommercesite/product/1
{
   "product_name": "Men High Performance Fleece Jacket",
   "description": "Best Value. All season fleece jacket",
   "unit_price": 79.99,
   "reviews": 250,
   "release_date": "2016-08-16"
 } 

而且只有 6.x 查询,我无法在 7.10 上运行。我收到关于类型的错误。

GET ecommercesite/product/_mapping

标签: elasticsearch

解决方案


当前(2020 年底)的PUT请求只是发出警告,但在 8.x 中将失败。

现在,您可以开始product替换_doc

  • PUT ecommercesite/product/1-->PUT ecommercesite/_doc/1
  • GET ecommercesite/product/_mapping-->GET ecommercesite/_doc/_mapping?include_type_name

但最好完全放弃类型并遵守标准:

  • 重要:而PUT ecommercesite/1不是继续使用PUT ecommercesite/_doc/1或使用PUT /ecommercesite/_create/1此处的文档
  • GET ecommercesite/_mapping这里的文档
  • 没有显着变化GET ecommercesite/_search

推荐阅读