ElasticSearch6.x或者7.x开启fielddata

博主用的ElasticSearch7,然后在对数据进行聚合分析时,报错了,然后查了好久的百度发现并没有合理的解释,最后跑到官网看文档问题才得以解决,博主报的错请看下图:
在这里插入图片描述
报这个错的原因是ElasticSearch的fielddata默认是关闭的,官网对fielddata解释是这样的:
Elasticsearch 加载内存 fielddata 的默认行为是 延迟 加载 。 当 Elasticsearch 第一次查询某个字段时,它将会完整加载这个字段所有 Segment 中的倒排索引到内存中,以便于以后的查询能够获取更好的性能。

对于小索引段来说,这个过程的需要的时间可以忽略。但如果我们有一些 5 GB 的索引段,并希望加载 10 GB 的 fielddata 到内存中,这个过程可能会要数十秒。 已经习惯亚秒响应的用户很难会接受停顿数秒卡着没反应的网站。
随着新分段的创建(通过刷新、写入或合并等方式), 启动字段预加载可以使那些对搜索不可见的分段里的 fielddata 提前 加载。

这就意味着首次命中分段的查询不需要促发 fielddata 的加载,因为 fielddata 已经被载入到内存。避免了用户遇到搜索卡顿的情形。

下面看解决方法

当我查了好久的百度后发现ElasticSearch5.x的解决方法是这样开启fielddata的:
PUT /index/_mapping/type
{
“properties”: {
“tags”:{
“type”: “text”,
“fielddata”: true
}
}
}
以上操作是在kibana中
在这里插入图片描述
当我们的版本为ElasticSearch6.x或者7.x时,像上面那样开启就会报错,请看下图:
在这里插入图片描述
这时解决方法如下:

PUT /index/_mapping
{
“properties”: {
“tags”:{
“type”: “text”,
“fielddata”: true
}
}
}
就比上面5.x方式少了一个type,就解决了
在这里插入图片描述
7.x的官网用列
在这里插入图片描述

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值