在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。
type

type

logstash6.5.4 output 中的if判断不起作用

Logstashxiaobai 回复了问题 • 5 人关注 • 5 个回复 • 3636 次浏览 • 2021-01-18 10:31 • 来自相关话题

Elasticsearch7中type移除问题

Elasticsearchwy04313 回复了问题 • 5 人关注 • 6 个回复 • 2899 次浏览 • 2020-11-19 10:21 • 来自相关话题

删除index下type的mapping

Elasticsearchdadaball 回复了问题 • 2 人关注 • 1 个回复 • 2810 次浏览 • 2020-05-26 16:16 • 来自相关话题

java怎么查询一个索引下的所有type名

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 6327 次浏览 • 2018-11-22 21:29 • 来自相关话题

同步数据到es,查询多了type字段

Logstashstrglee 回复了问题 • 3 人关注 • 1 个回复 • 2762 次浏览 • 2018-10-10 20:42 • 来自相关话题

关于Index与type、id、routing数据结构设计合理性的疑惑,有两套方案麻烦各位了

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 2736 次浏览 • 2018-07-20 12:32 • 来自相关话题

是不是一个index只能创建一个type。

ElasticsearchJElbert 回复了问题 • 3 人关注 • 2 个回复 • 6245 次浏览 • 2018-06-28 09:39 • 来自相关话题

Elasticsearch 移除 type 之后的新姿势

经验分享medcl 发表了文章 • 0 个评论 • 23106 次浏览 • 2018-05-03 15:41 • 来自相关话题

随着 7.0 版本的即将发布,type 的移除也是越来越近了,在 6.0 的时候,已经默认只能支持一个索引一个 type 了,7.0 版本新增了一个参数 include_type_name ,即让所有的 API 是 type 相关的,这个参数在 7.0 默认是 true,不过在 8.0 的时候,会默认改成 false,也就是不包含 type 信息了,这个是 type 用于移除的一个开关。

让我们看看最新的使用姿势吧,当 include_type_name 参数设置成 false 后:

  • 索引操作:PUT {index}/{type}/{id}需要修改成PUT {index}/_doc/{id}
  • Mapping 操作:PUT {index}/{type}/_mapping 则变成 PUT {index}/_mapping
  • 所有增删改查搜索操作返回结果里面的关键字 _type 都将被移除
  • 父子关系使用 join 字段来构建
#创建索引
PUT twitter
{
  "mappings": {
    "_doc": {
      "properties": {
        "type": { "type": "keyword" }, 
        "name": { "type": "text" },
        "user_name": { "type": "keyword" },
        "email": { "type": "keyword" },
        "content": { "type": "text" },
        "tweeted_at": { "type": "date" }
      }
    }
  }
}

#修改索引
PUT twitter/_doc/user-kimchy
{
  "type": "user", 
  "name": "Shay Banon",
  "user_name": "kimchy",
  "email": "shay@kimchy.com"
}

#搜索
GET twitter/_search
{
  "query": {
    "bool": {
      "must": {
        "match": {
          "user_name": "kimchy"
        }
      },
      "filter": {
        "match": {
          "type": "tweet" 
        }
      }
    }
  }
}

#重建索引
POST _reindex
{
  "source": {
    "index": "twitter"
  },
  "dest": {
    "index": "new_twitter"
  }
}

相关链接:

10亿数据,索引分配与 搜索速度优化

回复

Elasticsearch匿名用户 发起了问题 • 1 人关注 • 0 个回复 • 3168 次浏览 • 2018-04-20 14:56 • 来自相关话题

elasticsearch下index和type如何设计比较合理?

Elasticsearchcanslm 回复了问题 • 5 人关注 • 3 个回复 • 12602 次浏览 • 2018-03-14 01:35 • 来自相关话题

ES的type是否可以用字段代替

Elasticsearchmedcl 回复了问题 • 2 人关注 • 1 个回复 • 4080 次浏览 • 2018-01-16 16:50 • 来自相关话题

type 类型问题

Elasticsearchlengchanguo 回复了问题 • 3 人关注 • 2 个回复 • 2727 次浏览 • 2017-12-01 20:20 • 来自相关话题

Elasticsearch 6.0 将移除 Type

Elasticsearchmedcl 发表了文章 • 6 个评论 • 16949 次浏览 • 2017-05-04 22:25 • 来自相关话题

尽管之前在很多地方都提到过,不过还是有必要单独开篇文章提醒一下大家! Type 已经打算在6.0移除了,所以在设计 elasticsearch 的数据结构的时候,要注意到后面版本的变化。 之前在很多的文章和 PPT 都有介绍Elasticsearch 的几个核心概念,Index 对应 DB,Type 对应表,Document 对应记录,然后就真的按数据库的路子用,一个 index 里面 n 个 type 的情况大有存在,但是在 Lucene 里面其实有很多问题,所以现在es移除也是考虑了很久的。 新增参数:
index.mapping.single_type: true
  UID 也会移除掉 _type 的值。 Type 移除大概分为两个阶段: 第一步,不支持新的索引创建多个 type,一个索引只有一个 type,名称也是固定的,不能修改。 第二步,移除。   相应的 PR 已经 merge 了。 https://github.com/elastic/ela ... 24317  
尽管之前在很多地方都提到过,不过还是有必要单独开篇文章提醒一下大家! Type 已经打算在6.0移除了,所以在设计 elasticsearch 的数据结构的时候,要注意到后面版本的变化。 之前在很多的文章和 PPT 都有介绍Elasticsearch 的几个核心概念,Index 对应 DB,Type 对应表,Document 对应记录,然后就真的按数据库的路子用,一个 index 里面 n 个 type 的情况大有存在,但是在 Lucene 里面其实有很多问题,所以现在es移除也是考虑了很久的。 新增参数:
index.mapping.single_type: true
  UID 也会移除掉 _type 的值。 Type 移除大概分为两个阶段: 第一步,不支持新的索引创建多个 type,一个索引只有一个 type,名称也是固定的,不能修改。 第二步,移除。   相应的 PR 已经 merge 了。 https://github.com/elastic/ela ... 24317  

在es2.1版本中如何删除一个type下的数据

Elasticsearchyinglunfeng 回复了问题 • 4 人关注 • 4 个回复 • 11499 次浏览 • 2016-01-05 20:24 • 来自相关话题

怎样让log stash输出number类型数据

Logstashlephix 回复了问题 • 3 人关注 • 1 个回复 • 5364 次浏览 • 2015-12-17 23:51 • 来自相关话题

logstash6.5.4 output 中的if判断不起作用

回复

Logstashxiaobai 回复了问题 • 5 人关注 • 5 个回复 • 3636 次浏览 • 2021-01-18 10:31 • 来自相关话题

Elasticsearch7中type移除问题

回复

Elasticsearchwy04313 回复了问题 • 5 人关注 • 6 个回复 • 2899 次浏览 • 2020-11-19 10:21 • 来自相关话题

删除index下type的mapping

回复

Elasticsearchdadaball 回复了问题 • 2 人关注 • 1 个回复 • 2810 次浏览 • 2020-05-26 16:16 • 来自相关话题

java怎么查询一个索引下的所有type名

回复

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 6327 次浏览 • 2018-11-22 21:29 • 来自相关话题

同步数据到es,查询多了type字段

回复

Logstashstrglee 回复了问题 • 3 人关注 • 1 个回复 • 2762 次浏览 • 2018-10-10 20:42 • 来自相关话题

关于Index与type、id、routing数据结构设计合理性的疑惑,有两套方案麻烦各位了

回复

Elasticsearchrochy 回复了问题 • 2 人关注 • 1 个回复 • 2736 次浏览 • 2018-07-20 12:32 • 来自相关话题

是不是一个index只能创建一个type。

回复

ElasticsearchJElbert 回复了问题 • 3 人关注 • 2 个回复 • 6245 次浏览 • 2018-06-28 09:39 • 来自相关话题

10亿数据,索引分配与 搜索速度优化

回复

Elasticsearch匿名用户 发起了问题 • 1 人关注 • 0 个回复 • 3168 次浏览 • 2018-04-20 14:56 • 来自相关话题

elasticsearch下index和type如何设计比较合理?

回复

Elasticsearchcanslm 回复了问题 • 5 人关注 • 3 个回复 • 12602 次浏览 • 2018-03-14 01:35 • 来自相关话题

ES的type是否可以用字段代替

回复

Elasticsearchmedcl 回复了问题 • 2 人关注 • 1 个回复 • 4080 次浏览 • 2018-01-16 16:50 • 来自相关话题

type 类型问题

回复

Elasticsearchlengchanguo 回复了问题 • 3 人关注 • 2 个回复 • 2727 次浏览 • 2017-12-01 20:20 • 来自相关话题

在es2.1版本中如何删除一个type下的数据

回复

Elasticsearchyinglunfeng 回复了问题 • 4 人关注 • 4 个回复 • 11499 次浏览 • 2016-01-05 20:24 • 来自相关话题

怎样让log stash输出number类型数据

回复

Logstashlephix 回复了问题 • 3 人关注 • 1 个回复 • 5364 次浏览 • 2015-12-17 23:51 • 来自相关话题

Elasticsearch 移除 type 之后的新姿势

经验分享medcl 发表了文章 • 0 个评论 • 23106 次浏览 • 2018-05-03 15:41 • 来自相关话题

随着 7.0 版本的即将发布,type 的移除也是越来越近了,在 6.0 的时候,已经默认只能支持一个索引一个 type 了,7.0 版本新增了一个参数 include_type_name ,即让所有的 API 是 type 相关的,这个参数在 7.0 默认是 true,不过在 8.0 的时候,会默认改成 false,也就是不包含 type 信息了,这个是 type 用于移除的一个开关。

让我们看看最新的使用姿势吧,当 include_type_name 参数设置成 false 后:

  • 索引操作:PUT {index}/{type}/{id}需要修改成PUT {index}/_doc/{id}
  • Mapping 操作:PUT {index}/{type}/_mapping 则变成 PUT {index}/_mapping
  • 所有增删改查搜索操作返回结果里面的关键字 _type 都将被移除
  • 父子关系使用 join 字段来构建
#创建索引
PUT twitter
{
  "mappings": {
    "_doc": {
      "properties": {
        "type": { "type": "keyword" }, 
        "name": { "type": "text" },
        "user_name": { "type": "keyword" },
        "email": { "type": "keyword" },
        "content": { "type": "text" },
        "tweeted_at": { "type": "date" }
      }
    }
  }
}

#修改索引
PUT twitter/_doc/user-kimchy
{
  "type": "user", 
  "name": "Shay Banon",
  "user_name": "kimchy",
  "email": "shay@kimchy.com"
}

#搜索
GET twitter/_search
{
  "query": {
    "bool": {
      "must": {
        "match": {
          "user_name": "kimchy"
        }
      },
      "filter": {
        "match": {
          "type": "tweet" 
        }
      }
    }
  }
}

#重建索引
POST _reindex
{
  "source": {
    "index": "twitter"
  },
  "dest": {
    "index": "new_twitter"
  }
}

相关链接:

Elasticsearch 6.0 将移除 Type

Elasticsearchmedcl 发表了文章 • 6 个评论 • 16949 次浏览 • 2017-05-04 22:25 • 来自相关话题

尽管之前在很多地方都提到过,不过还是有必要单独开篇文章提醒一下大家! Type 已经打算在6.0移除了,所以在设计 elasticsearch 的数据结构的时候,要注意到后面版本的变化。 之前在很多的文章和 PPT 都有介绍Elasticsearch 的几个核心概念,Index 对应 DB,Type 对应表,Document 对应记录,然后就真的按数据库的路子用,一个 index 里面 n 个 type 的情况大有存在,但是在 Lucene 里面其实有很多问题,所以现在es移除也是考虑了很久的。 新增参数:
index.mapping.single_type: true
  UID 也会移除掉 _type 的值。 Type 移除大概分为两个阶段: 第一步,不支持新的索引创建多个 type,一个索引只有一个 type,名称也是固定的,不能修改。 第二步,移除。   相应的 PR 已经 merge 了。 https://github.com/elastic/ela ... 24317  
尽管之前在很多地方都提到过,不过还是有必要单独开篇文章提醒一下大家! Type 已经打算在6.0移除了,所以在设计 elasticsearch 的数据结构的时候,要注意到后面版本的变化。 之前在很多的文章和 PPT 都有介绍Elasticsearch 的几个核心概念,Index 对应 DB,Type 对应表,Document 对应记录,然后就真的按数据库的路子用,一个 index 里面 n 个 type 的情况大有存在,但是在 Lucene 里面其实有很多问题,所以现在es移除也是考虑了很久的。 新增参数:
index.mapping.single_type: true
  UID 也会移除掉 _type 的值。 Type 移除大概分为两个阶段: 第一步,不支持新的索引创建多个 type,一个索引只有一个 type,名称也是固定的,不能修改。 第二步,移除。   相应的 PR 已经 merge 了。 https://github.com/elastic/ela ... 24317