elasticsearch创建索引 ,mapping,dynamic_templates

简述

elasticsearch 创建索引时通常需要配置mapping。mapping的含义类似于关系数据库中的表结构。但mapping更加灵活。

创建

以下实例是创建索引:my-index-000001,并加入dynamic_templates。
地址
http://localhost:9400/my-index-000001
方式
put
端口
http 端口
模板内容

{
  "mappings": {
    "_default_": {
     "dynamic_templates": [
          {
            "string_fields": {
              "match": "*",
              "match_mapping_type": "string",
              "mapping": {
                "analyzer": "ik_max_word",
                "fields": {
                  "raw": {
                    "ignore_above": 2000,
                    "type": "keyword"
                  }
                },
                "index": "true",
                "omit_norms": true,
                "type": "text"
              }
            }
          }
        ],
          "properties": {
                    "amount": {
                        "type": "double"
                       
                    }
          }
    }
  }
}

curl 方式

curl --location --request PUT 'http://localhost:9400/my-index-000001' \
--header 'Content-Type: application/json' \
--data-raw '{
  "mappings": {
    "_default_": {
     "dynamic_templates": [
          {
            "string_fields": {
              "match": "*",
              "match_mapping_type": "string",
              "mapping": {
                "analyzer": "ik_max_word",
                "fields": {
                  "raw": {
                    "ignore_above": 2000,
                    "type": "keyword"
                  }
                },
                "index": "true",
                "omit_norms": true,
                "type": "text"
              }
            }
          }
        ],
          "properties": {
                    "contract_amount": {
                        "type": "double"
                        
                    }
          }
    }
  }
}'

总结

上面的模板中配置了 amountdouble 类型。分词器:ik_max_word,查询不分词的属性:raw

上一篇:LINUX系统管理员技术(Admin)-------第四天


下一篇:VS2008压力测试时web测试记录器无显示