首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Elasticsearch升级后的全域慢速

Elasticsearch升级后的全域慢速
EN

Stack Overflow用户
提问于 2018-03-16 23:08:38
回答 1查看 128关注 0票数 1

我们使用远程方法的重新索引将2.4集群升级到6.2集群。在2.4中,我们使用catch-all _all字段来执行搜索,所有查询的响应时间都在500 ms以下。

在6.2中,_all字段不再适用于新索引,因此我们最终创建了一个名为all (类似于"all": {"type": "text"} )的新文本类型字段,并在所有其他字段上设置了copy_to (其中大约有2000 )。但是现在,搜索这个新的所有捕获字段all所花费的时间是2.4 _all字段搜索时间的2到10倍。(在执行查询之前,我们刷新了两个集群上的缓存。)

这两个集群都是单个数据中心,单节点8GB内存位于同一个AWS区域,通过弹性云托管。这两个索引都有相同数量的文档(约600万份)和大约150个Lucene段文件。

有什么线索知道原因吗?

UPDATE:两个索引都返回没有所有捕获字段的文档,即它们不存储所有捕获字段。

下面是一个查询和响应示例:

代码语言:javascript
运行
复制
$ curl --user "$user:$password" \
> -H 'Content-Type: application/json' \
> -XGET "$es/$index/$mapping/_search?pretty" -d'
> {
>     "size": 1,
>     "query" : {
>         "match" : { "all": "sherlock" }
>     }
> }
> '
{
  "took" : 42,
  "timed_out" : false,
  "_shards" : {
    "total" : 5,
    "successful" : 5,
    "failed" : 0
  },
  "hits" : {
    "total" : 28133,
    "max_score" : 2.290815,
    "hits" : [ {
      "_index" : "sherlock",
      "_type" : "doc",
      "_id" : "513763",
      "_score" : 2.290815,
      "_source" : {
        "docid" : 513763,
        "age" : 115,
        "essay" : "Has Mr. Sherlock Holmes?",
        "name" : {
          "last" : "Pezzetti",
          "first" : "Lilli"
        },
        "ssn" : 834632279
      }
    } ]
  }
}

UPDATE 2:我忘记提到的另一点是,一个临时应用程序正在使用2.4集群,它每隔几分钟向它发送几个查询。这会不会让OS缓存等其他因素发挥作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-19 22:23:10

您是否存储了_all字段并在原始设置中返回它?你现在还回来吗?如果你没有--现在你做了--那就是你看到的响应开销,而不是搜索开销。基本上,如果您不需要该字段(以及任何其他字段),您应该在响应中省略该字段(来自_source)。

查看源滤波以获得更多信息

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49330669

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档