Elasticsearch7与之前版本最大的区别就是舍弃了type的概念,默认的type为"_doc"。
先建索引
PUT /shop
dynamic,推荐用strict
- dynamic设为true时,新增字段的文档写入时,Mapping同时被更新
- dynamic设为false时,Mapping不会被更新,新增字段的数据无法被索引,但是会出现在_source中
- dynamic设为strict,文档将写入失败
修改dynamic参数
POST /shop/_mapping
{
"dynamic": strict
}
text类型 可以被分词 但是 keyword 分词是不能用的 要全匹配
修改或新增mapping字段type
POST /shop/_mapping
{
"properties":{
"name":{
"type":"text",
},
"content":{
"type":"text",
"analyzer": "ik_max_word",
"search_analyzer": "ik_smart"
},
"createTime":{
"type":"date",
"format": "yyyy-MM-dd HH:mm:ss"
}
}
}
分词器测试:
POST /_analyze
{
"analyzer": "ik_smart",
"text": "关于加快建设合肥地铁七号线的通知说明"
}
参考 https://blog.csdn.net/qq_36697880/article/details/100660867