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

在弹性本机查询-springboot中添加查询超时

崔宜修
2023-03-14

如何在下面的本机搜索查询中添加查询超时?

final QueryBuilder contentTagQuery = QueryBuilders.boolQuery()
                .filter( QueryBuilders.termQuery("tenantId" , "en"));
NativeSearchQuery query = new NativeSearchQuery(contentTagQuery);
query.setMaxResults(1);

SearchHits<Content> searchHits =
         elasticsearchOperations.search(
                        query, Content.class,
                        IndexCoordinates.of("index"));

共有1个答案

秦光启
2023-03-14

你必须使用sping-data-elasticsearch版本

java prettyprint-override">NativeSearchQuery query = new NativeSearchQuery(contentTagQuery);
query.setMaxResults(1);
query.setTimeout(xx);

该PR被合并到4.2.x版本中。

在4.2. x中,NativeSearchQuery扩展了AbstractQueryAbstractQuery有一个接受TimeValuesetTimeout()方法。

4.3.x以后,NativeSearchQuery扩展了BaseQuery,并且BaseQuery也有接受持续时间的方法。

 类似资料:
  • 我有这样嵌套条目的文档: 因此,第二个条目中的*是实际的字符串值,而不是通配符。 现在,我正尝试使用以下主体查询具有key1:value3和key2:*的所有文档: 但是,这根本不会返回任何文档。 此外,使用“\\*”作为key2的查询参数也没有帮助。 是否有可能将*作为实际的String值而不是通配符查询? 第一次回答后编辑,并提示Analyzer设置:尝试将我的索引配置为使用映射字符过滤器,如

  • 我正在LDAP服务器上工作。它有弹性搜索。我必须用一些Javascript代码(JSON格式)发送查询。 这是我的查询: 我试图打印所有结果,其中“server”=“server\u name”(该字段是server:server\u name…)。我认为关于弹性搜索的文档太小了。我找到了一些文档,但都是一样的,对新用户没有帮助。这个例子太简单了。 此查询返回所有结果,包括任何筛选器。 Ps:这就

  • 问题内容: 每次执行此查询需要200毫秒以上的时间: 但这每次在第一次查询后每次执行只需要2-3毫秒: 注意在两个查询中相同的ID值。看起来第二个查询使用第一个查询的缓存结果。但是,为什么第一个查询不能使用缓存的结果本身?从第一个查询中删除不会更改任何内容。 当我使用其他ID执行第二个查询时,第一次执行该查询大约需要40毫秒,此后每次需要2-3毫秒。因此,第二个查询不仅运行速度更快,而且还缓存结果

  • 问题内容: 我在Access 2013的数据库中有一个表。 我希望在它们旁边添加Rowid号: 问题答案: 一种方法是在子查询中使用该函数。不确定它的伸缩性是否合适,可能还有更好的方法…

  • 我想在我的repo中写一个本机查询“Select*in from table”。表名与实体名不同。 运行查询时, 1如果我把实体名称返回表未找到。 2如果我将表名放在查询中,则查询的验证失败。 问题是 如果我使用"Select*from TariffPacks r2..., nativeQuery=true",我得到错误TariffPacks不存在。如果我使用"Select*from RECHAR

  • 问题内容: 我命中了要通过自定义开发层进行Solr的查询,而我在该层中超时的一些查询仍在solr实例中。solr中是否有一个可用于使特定查询超时的参数 问题答案: 如Solr中所述,客户端断开连接后查询继续吗?并写在Solr常见问题解答中 在内部,Solr不会使任何请求超时-它使更新和查询都需要花费很长时间才能完全处理。 但是在FAQ的同一位置 但是,用于运行Solr的servlet容器可能会对所