在 Mapping 里面,将 dynamic 参数设置成 strict 可以拒绝索引包含未知字段的文档。 此条 Tips 由 medcl 贡献。

关于查询热加载的问题,请教大神

Elasticsearch | 作者 1qaz2wsx | 发布于2018年08月21日 | 阅读数:1902

我的测试数据大约100W,我第一次查询用了60多秒,同样的查询第二次查询,只用了1秒不到,
我知道第一次查询以后就有了缓存。
但是第一次体验会非常差,请问怎么样与加载数据到内存你
我看有一个 filedate 的字段好像可以有这个功能,但是很多博客又说不推荐。 那么怎么解决这样的问题啊?
PUT /music/_mapping/_song
{
 "tags": {
   "type": "string",
   "fielddata": {
     "loading" : "eager" 
   }
 }
}  这是预加载的 但是好像并不推荐, 求大佬给一个好一点的解决思路  谢谢
已邀请:

rochy - rochy_he

赞同来自:

首先 100W 的数据一般而言查询时间不会大于 1s,题主的查询时间查过了 60s,
个人感觉要么是索引设计存在缺陷或者是查询语句有问题,
可以把问题再具体一些,从根源上解决问题。
 
此外,从 5.x 开始官方已经取消了 warm 的机制,如果题主再使用 2.x 可以先使用 "loading" : "eager"  的方式看一下效果;
 
可以参考官方文档给出的提升搜索速度的建议进行优化:
https://www.elastic.co/guide/e ... inals

要回复问题请先登录注册