es创建mapping

  • Post category:other

以下是关于“ES创建mapping”的完整攻略:

步骤1:创建索引

在创建mapping之前,需要先创建一个索引。可以使用以下命令创建一个名为my_index的索引:

PUT /my_index

在上面的命令中,PUT是HTTP请求方法,/my_index是索引名称。

步骤2:创建mapping

在创建索引后,需要创建mapping。可以使用以下命令创建一个名为my_type的mapping:

PUT /my_index/_mapping/my_type
{
  "properties": {
    "title": {
      "type": "text    },
    "description": {
      "type": "text"
    },
    "price": {
      "type": "float"
    },
    "created_at": {
      "type": "date"
    }
  }
}

在上面的命令中,PUT是HTTP请求方法,/_index/_mapping/my_type是索引名称和类型名称。在mapping中,我们定义了四个字段:title、description、price和created_at。每个字段都有一个类型,例如text、float和date。

示例说明

以下是两个示例,分别演示了如何创建一个包含不同字段类型的mapping:

示例1:创建包含text和keyword字段的mapping

假设我们需要创建一个包含text和keyword字段的mapping。可以使用以下命令创建mapping:

PUT /my_index/_mapping/my_type
{
  "properties": {
    "title": {
      "type": "text"
    },
    "category": {
      "type": "keyword"
    }
  }
}

在上面的命令中,我们定义了两个字段:title和category。title字段的类型为text,category字段的类型为keyword。

示例2:创建包含nested字段的mapping

假设我们需要创建一个包含nested字段的mapping。可以使用以下命令创建mapping:

PUT /my_index/_mapping/my_type
{
  "properties": {
    "title": {
      "type": "text"
    },
    "comments": {
      "type": "nested",
      "properties": {
        "author": {
          "type": "text"
        },
        "comment": {
          "type": "text"
        }
      }
    }
  }
}

在上面的命令中,我们定义了两个字段:title和comments。comments字段的类型为nested,其中包含两个子字段:author和comment。

总结:

  • 在创建mapping之前,需要先创建一个索引。
  • 可以使用PUT请求方法创建索引和mapping。
  • 在mapping中,需要定义字段和字段类型。
  • 可以定义不同类型的字段,例如text、keyword、float和date。
  • 可以定义nested字段,其中包含多个子字段。