问题标签 [resthighlevelclient]

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 投票
0 回答
412 浏览

java - 与在 Kibana 上执行 Query DSL 相比,来自 Java REST 高级客户端的 Elasticsearch 查询返回不同/不受欢迎的结果

我正在使用 Java 高级 REST 客户端实现弹性搜索搜索功能,该客户端查询驻留在云上托管的集群之一上的 ES 索引。我的预期查询 JSON DSL 看起来像这样,

与此相对应,我编写了要使用 Java High-level REST 客户端执行的代码,该客户端执行与上述 DSL 相同的功能。

我注意到的是,java 方法的搜索结果与我直接在 kibana 上执行 DSL 时的结果不同。当从 Java 执行时,我发现与上面给出的搜索内容无关的记录。我认为这很奇怪,因为我想我已经实现了 Java 代码来匹配上面给出的 JSON 查询 DSL。

当我尝试从 Java 端打印生成的 JSON 时,它的输出如下所示,

我是否在我的 java 代码中遗漏了一些东西,导致搜索结果以一种不受欢迎的方式返回?或者这两种方法返回的记录不匹配的原因是什么?

提前致谢!

0 投票
1 回答
236 浏览

java - 使用 java rest 高级客户端的 Elasticsearch 节点 IP 地址和其他详细信息

我们如何使用 java 高级别的客户端获取 elasticseacrh 的节点详细信息。我们可以使用GET /_cat/nodes在 KIbana 中获取节点详细信息。我想如何使用高级别的客户端获取相同的细节,我需要节点的 IP 地址以及它的主节点与否。

0 投票
0 回答
106 浏览

java - 弹性搜索使用 RestHighLevelClient 禁用日期检测

我要索引的 JSON 字段之一是格式为“2000-01-01”的字符串。

索引正常,但查询操作因 search_phase_execution_exception 失败,原因=所有分片失败。

索引:

}

询问:

当我省略日期字段时,一切顺利,所以它看起来与我不知道如何在 RestHighLevelClient 中禁用的日期检测有关。

谢谢,欧内斯特

0 投票
2 回答
618 浏览

spring-boot - Spring Data Elasticsearch 没有给出预期的结果

我正在使用 Spring data elasticsearch 在我的弹性文档中进行查询。我的 Elasticsearch 实体类:

我已经完成了诸如设置存储库之类的其他事情,为了简洁起见。数据搜索:

Spring为上述调用生成查询:

查询结果:

查看结果集,projectName字段值已像contains方法一样检查!它没有检查完整的给定参数。
为什么会这样?如何解决它们?
添加:organizationId 和 projectName 字段设置为fieldData=true

0 投票
1 回答
563 浏览

elasticsearch - RestHighLevelClient 是否保持连接打开?

我想RestHighLevelClient在不同的集群上使用 Cross Cluster mechanizem 不支持的命令(例如关闭和打开索引)。
我的问题是,如果我为每个集群使用多个实例,RestHighLevelClient它会为每个集群保持连接打开吗?(以确保我没有阻塞应用程序)

0 投票
0 回答
147 浏览

java - Elastic Search Rest 高级客户端返回 403 错误

我在 CNAME 后面有一个弹性搜索服务,当我尝试使用 curl 命令通过命令行访问它时,我能够通过 HTTP 200 OK 响应获得正确的响应。

但是,当我尝试使用 Java API 的 Rest High Level Client 连接到服务时,我收到 403 错误。

我的弹性搜索的访问策略配置为 * 作为 AWS Principal。

错误日志是这样的:

这背后的可能原因是什么?此问题仅发生在 CNAME 而不是实际的弹性搜索域名。

0 投票
1 回答
1414 浏览

elasticsearch - 查询太多滚动上下文

我们正在使用 ES 版本 6.4,我们想升级到 7.4。在测试升级以使用 Scroll 进行分页搜索时,我们面临以下问题:

试图创建太多滚动上下文。必须小于或等于 [500]。可以通过更改 [search.max_open_scroll_context] 设置来设置此限制。

看起来我们只能打开 500 个滚动上下文。

当我们启动滚动时,会创建一个滚动上下文(上下文 A),并且滚动 id 指向上下文(上下文 A)。当我检索下一批时,会创建一个新的滚动上下文(上下文 B)。我收到了相同的滚动 ID(现在它指向上下文 B)。旧滚动上下文(上下文 A)会发生什么情况。它会立即关闭并 GC'd 吗?还是只有在滚动时间到期后才会发生?如何清除旧的滚动上下文?与旧上下文(上下文 A)关联的滚动 ID 现在指向新上下文(上下文 B)。

我们如何解决这个问题?

我们的选择:

  1. 我们可以在设置中增加滚动上下文。如果我们将滚动上下文增加到更高的数量(例如:10000),是否有任何问题
  2. 使用后清除滚动上下文。我们观察到返回相同的滚动 ID 以检索后续批次。我们如何清除为旧批次创建的滚动上下文?
0 投票
1 回答
37 浏览

elasticsearch - 将 Get Index 调用从传输客户端迁移到 Rest 高级客户端时处理映射

我们正在从 Transport Client 迁移到 High Level Rest Client。我们如何调和从 Transport 客户端与 Rest 高级客户端返回的对象mappings字段的差异?GetIndexResponse

对于传输客户端,我们使用此代码获取索引信息:

响应mappings字段是 aImmutableOpenMap<String, ImmutableOpenMap<String, MappingMetaData>> 但是对于其他高级客户端,该mappings字段只是一个Map<String, MappingMetadata>. 这是高级休息客户端的代码:

这些是响应对象类: 传输客户端:org.elasticsearch.action.admin.indices.get.GetIndexResponse 休息高级客户端:org.elasticsearch.client.indices.GetIndexResponse

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