欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Elasticsearch索引(index)、映射(mapping)等相关的创建

程序员文章站 2022-07-09 15:46:36
...

创建索引、映射

// 请求方式 /索引名称
PUT /saas_product_stock_test

{
  // 索引设置,并设置主分片和副本分片个数
  "settings": {
    "index": {
      "number_of_shards": "16",
      "number_of_replicas": "0"
    }
  },
  // 映射,注意映射类型为strict
  "mappings": {
    "_doc": {
      "dynamic": "strict",
      "properties": {
        "update_time": {
          "format": "yyyy-MM-dd HH:mm:ss",
          "type": "date"
        },
        "create_time": {
          "format": "yyyy-MM-dd HH:mm:ss",
          "type": "date"
        },
        "stock_amount": {
          "type": "float"
        },
        "organ_sign": {
          "type": "keyword"
        },
        "available_amount": {
          "type": "float"
        },
        "product_code": {
          "type": "keyword"
        }
      }
    }
  }
}

关于映射类型的说明,至于选择哪一种看具体需求,一般来说业务改动频繁的,建议使用动态映射:

  • 动态映射(dynamic:true):动态添加新的字段(或缺省)。
  • 静态映射(dynamic:false):忽略新的字段。在原有的映射基础上,当有新的字段时,不会主动的添加新的映射关系,只作为查询结果出现在查询中。
  • 严格模式(dynamic: strict):如果遇到新的字段,就抛出异常。