版本7.3
1、keyword、text
text类型在存储数据的时候会默认进行分词,并生成索引。而keyword存储数据的时候,不会分词建立索引,显然,这样划分数据更加节省内存。
对于的查询方式也不一样,match term,需要测试
2、在ElasticSearch中默认fielddata默认是false的,因为开启Text的fielddata后对内存的占用很高
当在排序、聚合等操作时会遇到报错,修改fieldata为true即可,不用重建索引
https://blog.csdn.net/baristas/article/details/78974090
3、修改字段类型
遇到的,新建索引,把旧数据导入到新建的索引中,中把新建的索引重命名。
字段类型修改后,程序可能也需要修改
4、新增字段 直接新增即可
5、查询到的数据跟预期不一样
更新时,需要设置detect_noop false,默认true。refresh=true 7.3中RefreshPolicy.IMmediate
6、更新字段,添加字段可以通过
script ctx_source.字段名=value
也可以在script中增加表达式,来作为查询条件
7\es scrollid
scroll生成scrollid时,结果已经确定,如果执行时间很久,可能到最后获得的数据跟实际有差距
https://blog.csdn.net/weixin_40341116/article/details/80821655
8、es fields
通过不同的方法索引相同的字段通常非常有用,相当于一个数据有多种索引方式
text类型不能通过""搜索到,但是可以增加fields keyword搜索