当前位置: 首页 > 知识库问答 >
问题:

elasticsearch - ES查询速度慢的问题?

弘涛
2023-06-08

现在有三台ES服务器,索引里大概有7000条数据,每条数据是内容放到txt中大概300kb以上,按某个查询条件查询的结果数量是4000多条数据。当size设置成9999的时候,需要查询30秒以上,这是为什么呢,有没有优化方案。

{
    "size":9999,
    "query":{
        "bool":{
            "adjust_pure_negative":true,
            "must":[
                {
                    "bool":{
                        "adjust_pure_negative":true,
                        "must":[
                            {
                                "nested":{
                                    "path":"hdr_inp_summary",
                                    "score_mode":"none",
                                    "query":{
                                        "bool":{
                                            "adjust_pure_negative":true,
                                            "must":[
                                                {
                                                    "terms":{
                                                        "boost":1.0,
                                                        "hdr_inp_summary.sex_name":[
                                                            "男"
                                                        ]
                                                    }
                                                }
                                            ],
                                            "boost":1.0
                                        }
                                    },
                                    "boost":1.0,
                                }
                            }
                        ],
                        "boost":1.0
                    }
                }
            ],
            "boost":1.0
        }
    },
    "from":0,
    "_source":{
        "excludes":[],
        "includes":[
            "hdr_inp_summary.pv_id"
        ]
    }
}

共有1个答案

濮阳国兴
2023-06-08

你可以每次查询100或者500,分页查询,分批写入excel,应该会加速很多

 类似资料:
  • es 中有一个字段,整数(非keyword)取值有1,2,3,4;数据量10亿; es使用term 查询,查1,2,4都很快,只有查询条中有3的时候很慢。 什么情况下会使得es只查询特定的值会慢?

  • 问题内容: 我正在使用Google BigQuery,并且正在从PHP执行一些简单的查询。(例如,从电子邮件中的SELECT * WHERE email='mail@test.com‘)我只是在检查表中是否存在该电子邮件。 表“电子邮件”目前为空。但是,PHP脚本仍然需要大约4分钟的时间来检查一个空表上的175封电子邮件。.如我希望将来该表将被填充,并且将有500 000封邮件,那么我想请求时间会

  • `public class Main{private static Connection connect=null;private static Statement PreparedStatement=null;private static ResultSet ResultSet=null;

  • 问题内容: 这是查询(最大的表约有40,000行) 如果运行此命令,它将很快执行(大约.05秒)。它返回13行。 当我在查询末尾添加一个子句(按任意列排序)时,查询大约需要10秒钟。 我现在正在生产中使用此数据库,并且一切正常。我所有其他查询都很快。 有什么想法吗?我在MySQL的查询浏览器中并从命令行运行了查询。两个地方都死了。 编辑: Tolgahan ALBAYRAK解决方案有效,但是谁能解

  • 问题内容: 我已经开发了一个用户批量上传模块。有两种情况,当数据库有零条记录时,我批量上传了20000条记录。大约需要5个小时。但是,当数据库已经有大约30 000条记录时,上传速度将非常缓慢。上载2万条记录大约需要11个小时。我只是通过fgetcsv方法读取CSV文件。 下面是运行的查询。(我正在使用Yii框架) 如果存在,请更新用户: 如果用户不存在,请插入新记录。 表引擎类型为MYISAM。

  • 问题内容: 我有一个PostgreSQL函数,可以将查询结果返回到pgadmin结果网格中。在内部,这是一个简单的函数,使用a连接到另一个数据库并返回查询,以便我可以简单地运行 它的运行就像基本的表查询一样。 问题是当我使用该子句时。因此,我想运行以下查询,但它要花很多时间: 我怎样才能加快速度?有什么比这种情况下的子句快的吗? 问题答案: 不是表-可能是一些存储过程,因此查询并不是很简单。您需要