Elasticsearch 明确创建具有类型的索引

示例

该示例使用基本的HTTP,可轻松转换为cURL和其他HTTP应用程序。它们还与Sense语法匹配,该语法将在Kibana 5.0中重命名为Console。

注意:该示例插入<#>以帮助引起对零件的注意。如果您将其复制,则应将其删除!

PUT /my_index <1>
{
  "mappings": {
    "my_type": { <2>
      "properties": {
        "field1": {
          "type": "long"
        },
        "field2": {
          "type": "integer"
        },
        "object1": {
          "type": "object",
          "properties": {
            "field1" : {
              "type": "float"
            }
          }
        }
      }
    }
  },
  "my_other_type": {
    "properties": {
      "field1": {
        "type": "long" <3>
      },
      "field3": { <4>
        "type": "double"
      }
    }
  }
}

  1. 这是index使用创建索引端点创建的。

  2. 这正在创建type。

  3. type相同的内s中的共享字段index 必须共享相同的定义!ES 1.x并未严格执行此行为,但这是一个隐含要求。ES2.x及更高版本严格执行此行为。

  4. 跨types的唯一字段是可以的。

索引(或多个索引)包含类型。类型是分隔文档的便捷机制,但是它们要求您动态/自动或显式定义所使用每种类型的映射。如果在索引中定义15种类型,则将有15种唯一的映射。

有关此概念以及为什么或不希望使用类型的更多详细信息,请参见注释。