推荐使用Kibana进行DSL编写,有代码提示与纠正(提示给跟我一样的小白)
创建索引并配置:
number_of_shards为数据分片,默认值为5
number_of_replicas为数据备份数,如果只有一台机器,建议设置为0,避免索引一直处于yellow状态
注:该设置创建索引后无法修改(我记得是这样,有错望纠正)
PUT /index_name/_settings
{
"number_of_shards": 3,
"number_of_replicas": 0
}
定义字段
text:文本类型(会被es分词器进行分词)
keyword:文本类型(不被分词)
scaled_float:浮点型数据类型,scaling_factor用于精度限制
date:时间类型,可用format约束时间格式(epoch_millis为时间戳)
PUT /index_name/_doc/_mapping?pretty
{
"_doc": {
"properties": {
"my_id": {
"type": "long"
},
"content": {
"type": "text"
},
"money": {
"type": "scaled_float",
"scaling_factor": 100.0
},
"customer": {
"type": "keyword"
},
"sync": {
"type": "boolean"
},
"create_time": {
"type": "date",
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"
}
}
}
}
以下为偷懒模式,使用截图,也希望需要用的朋友动手打一打,增强记忆
新增字段
使用脚本设置字段默认值
post index_name/_update_by_query (指定索引/操作类型)