一览

配置项 作用&说明 注意事项 默认值 使用场景 示例
_doc_count 当文档表示预聚合数据时,用于存储文档计数的自定义字段


_field_names 文档中包含非空值的所有字段。
_ignored 类型错误时,是否允许录入数据
_id 文档的 ID。
_index 文档所属的索引
_meta 文档的元数据,es并未使用他们,但可用于存储特定于应用程序的元数据,例如文档所属的类
_routing 1:使用以下公式将文档路由到索引中的特定分片:shard_num = hash(_routing) % num_primary_shards
2:默认值_routing是文档的_id.
索引和查询,routing策略一致才能搜索到
_source 该_source字段本身没有被索引(因此不可搜索),但它被存储以便在执行获取请求时可以返回它 可以禁用,但是禁用会带来很多问题,以下功能将不可用:update, update_by_query, reindex,高亮
_tier 可搜索不同的节点,在冷热数据中再详细说明
ES冷热数据分离架构
_type 文档所属的类型

示例

_ignore示例

  1. # 1 定义
  2. PUT my-index-000001
  3. {
  4. "settings": {
  5. "index.mapping.ignore_malformed": true
  6. },
  7. "mappings": {
  8. "properties": {
  9. "number_one": {
  10. "type": "byte"
  11. },
  12. "number_two": {
  13. "type": "integer",
  14. "ignore_malformed": false
  15. }
  16. }
  17. }
  18. }
  19. #当类型录入错误时,不进行索引,会在_source中存储一份
  20. # 2 搜索包含_gnore的字段(录入时错误的文档数据)
  21. GET _search
  22. {
  23. "query": {
  24. "exists": {
  25. "field": "_ignored"
  26. }
  27. }
  28. }

_meta示例

  1. // 定义
  2. PUT my-index-000001
  3. {
  4. "mappings": {
  5. "_meta": {
  6. "class": "MyApp::User",
  7. "version": {
  8. "min": "1.0",
  9. "max": "1.3"
  10. }
  11. }
  12. }
  13. }
  14. // 修改
  15. PUT my-index-000001/_mapping
  16. {
  17. "_meta": {
  18. "class": "MyApp2::User3",
  19. "version": {
  20. "min": "1.3",
  21. "max": "1.5"
  22. }
  23. }
  24. }