问题标签 [elasticsearch-high-level-restclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
173 浏览

java - Elasticsearch High level Java Client version 6.0.1 实现基于脚本的排序

我正在使用 ES 版本 6.0.1,并在我的应用程序中集成了版本为 6.0.1 的 Java High level rest 客户端。

我目前正在尝试使用弹性搜索的 Java High Level Rest 客户端 API 构建这个基于脚本的排序查询:

但是我找不到任何关于 java 客户端基于脚本的排序查询的文档。如果有人能帮助我使用 java API 实现上述查询,我​​将不胜感激。

0 投票
1 回答
102 浏览

spring-data-elasticsearch - 我可以使用 spring data elasticsearch 连接到弹性云吗?

我可以使用 spring data elasticsearch 连接到弹性云并获取数据吗?除了 restclient 配置之外,我还需要其他配置来从 Elastic Cloud 中获取数据吗?

0 投票
1 回答
264 浏览

java - 如何获取节点状态 HighLevelRESTClient ElasticSearch

我正在使用 Java HighLevelRestClient 连接到我的 ElasticSearch。我正在执行一项任务以获取每个节点的健康状态。

试过:

这样做时,我得到了所有与集群相关的信息,状态为“绿色”,节点数=3。

任何帮助,如何获取具有节点状态的节点特定信息。

谢谢

0 投票
1 回答
176 浏览

elasticsearch - 使用 Java 高级别的客户端执行 ClusterStateRequest

我正在将以前在弹性 1.6.2 集群上使用 java TransportClient 的代码库转换为使用高级 REST http java 库。我想向此处为 http 描述的 ClusterState API 发出请求:https ://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-state.html

java库没有对应的页面

我的代码的一部分检索ClusterStateResponse如下:

org.elasticsearch.client.RestHighLevelClient对于Java Elasticsearch 库的7.3.2 版:

是否可以使用RestHighLevelClient来执行ClusterStateRequest

0 投票
1 回答
400 浏览

java - 在运行时更改超时 - Elasticsearch RestHighLevelClient

下面是 Rest 客户端初始化。

有没有办法在重新初始化其余客户端的情况下即时更改超时值?

0 投票
2 回答
2913 浏览

java - Elasticsearch 集群负载均衡最佳实践

我想了解我是否需要将负载均衡器作为 Elasticsearch 部署的一部分,或者将其视为一种好习惯。

据我了解,Elasticsearch 的高级休息客户端和传输客户端可以管理节点之间的负载平衡。所以客户端需要逗号分隔的端点列表,就是这样。

中间还有负载均衡器有什么意义吗?对于哪种情况可能有用?每种方法的优缺点?

0 投票
0 回答
91 浏览

java - 使用 Java 高级 Rest 客户端将对象添加到弹性搜索索引中的数组

我正在尝试将列表或单个对象添加到弹性搜索索引上的数组字段,索引如下所示:

我正在使用 Java 高级 Rest 客户端通过将对象转换为 JsonNode 来将单个对象添加到数组字段。我的问题是两部分,是否可以传递用户对象数组而不是单个对象?另外,我遇​​到了一个问题,如下所示。

我不确定我是否在这里遗漏了一些东西,但尝试使用单个对象更新字段时仍然出现以下异常:

我们可以在不使用脚本的情况下实现目标吗?

感谢您对此的任何帮助。

0 投票
1 回答
123 浏览

elasticsearch - Elasticsearch 高级 REST 客户端 - 索引有延迟

我们终于开始使用高级 REST 客户端,从后端工程的角度简化查询的开发。对于索引,我们使用client.update(request, RequestOptions.DEFAULT)以便创建新文档并修改现有文档。

我们看到的问题是,索引被延迟了,几乎是 5 分钟。我看到他们在内部使用异步 http 调用。但这不应该花这么长时间,我在图书馆里找了一些时间选项,没有找到任何东西。我是否缺少任何东西或缺少官方文档?

0 投票
1 回答
1374 浏览

java - 如何从Java中的聚合桶中获取值以获取elasticsearch聚合查询结果

因此,我已经能够使用elasticsearch 高级restclient 在Java 中根据需要复制elasticsearch 查询。问题是我无法检索我想要的值。在给出代码之前,我想解决总体目标,以防有更简单的解决方案(看起来这不应该那么困难。)

总体目标:获取 'recommender' 字段中每个唯一值的 'visited'==true 的文档数。

我目前的状态:我已经能够在 kibana/elasticsearch 中编写具有所需输出的查询,但是当我在 Java 中复制此查询时,我无法访问我需要的数据。(使用 searchRequest.source().toString 验证())。

这是查询:

这就是我的java代码中的内容:

我整天都在摆弄这个,没有任何进展。这尤其令人沮丧,因为当我在 IDE 中调试时,我可以看到每个推荐者存储桶的文档计数,但我不知道如何访问它。我意识到大约有 180 个类扩展了聚合,我尝试了一些,但每次都失败了。

此外,如果您知道弹性搜索 java 高级休息客户端的任何体面资源,请告诉我。谢谢!

---------编辑 5/4/21 -------------

elasticsearch 的示例输出:

然后将 searchResponse.getAggregations() 保存到聚合中。最终,我们能够遍历每个推荐者 ID 的存储桶,但我永远无法进入每个存储桶内部的聚合,这是我需要做的。

0 投票
0 回答
224 浏览

elasticsearch - Elasticsearch:我们开始使用 elasticsearch 高级客户端后 CPU 使用率高的模式

我们最近开始使用 elasticsearch 高级客户端,我们使用滚动 API 从 ES 获取大量数据。我们看到高 CPU 利用率的模式如下:

在此处输入图像描述

它的模式每 30 分钟重复一次。不知道发生了什么。我们在 elasticsearch 中也看到了异常——

[2021-05-12T04:19:29,516][DEBUG][oeasTransportSearchScrollAction] [node-2] [93486247] 无法执行查询阶段 org.elasticsearch.transport.RemoteTransportException: [node-3][10.160.86.222:7550] [indices:data/read/search[phase/query/scroll]] 原因:org.elasticsearch.search.SearchContextMissingException:在 org.elasticsearch.search.SearchService.getExecutor(SearchService.java 中找不到 id [93486247] 的搜索上下文:496) ~[elasticsearch-6.8.9.jar:6.8.9] at org.elasticsearch.search.SearchService.runAsync(SearchService.java:373) ~[elasticsearch-6.8.9.jar:6.8.9] at org .elasticsearch.search.SearchService.executeQueryPhase(SearchService.java:435) ~[elasticsearch-6.8.9.jar:6.8.9] at org.elasticsearch.action.search.SearchTransportService$8.messageReceived(SearchTransportService.java:376) ~ [elasticsearch-6.8.9.jar:6.8.9] 在 org.elasticsearch。action.search.SearchTransportService$8.messageReceived(SearchTransportService.java:373) ~[elasticsearch-6.8.9.jar:6.8.9] at org.elasticsearch.xpack.security.transport.SecurityServerTransportInterceptor$ProfileSecuredRequestHandler$1.doRun(SecurityServerTransportInterceptor.java :250) ~[?:?] at org.elasticsearch.common.util.concurrent.AbstractRunnable.run(AbstractRunnable.java:37) ~[elasticsearch-6.8.9.jar:6.8.9]

正在使用的高级客户端代码是官方文档中给出的常用代码-