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

10-13 19:05