问题标签 [elasticsearch-rest-client]

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 回答
201 浏览

java - 使用 EntityUtils.consume(httpEntity) 直到流结束消费如何导致将连接释放回连接池?

我在这里读到这EntityUtils.consume(httpEntity)将导致将连接释放回连接池,但是当我查看源代码时,我无法理解这是如何发生的。有人可以指出我在使用低级Elastic Search Rest ClientEntityUtils.consume(httpEntity)时释放连接的代码部分 吗?EntityUtils.toString(httpEntity)

如果有 aSocketTimeoutException并且我不使用 ,连接会发生什么HttpEntity

0 投票
0 回答
64 浏览

elasticsearch - 如何根据请求在运行时连接到多个弹性搜索集群之一?

我目前正在使用

并遵循弹性搜索的依赖关系

我现在正在连接到单个弹性集群,但现在我需要连接到多个弹性搜索集群中的任何一个。这应该在运行时使用 spring 云配置发生。这可以实现吗?如何实现?

0 投票
2 回答
69 浏览

elasticsearch - 如何手动配置elasticsearch healthcheck

当前,通过在 application.yml 文件中提及此属性来自动配置弹性搜索

但我的要求是在启用健康检查的同时不要将此属性保留在此文件中。如何手动配置?

0 投票
1 回答
347 浏览

java - ElasticSearch 将所有字段值返回为 null

我的配置:

文档:

用法:

在使用或不使用过滤器进行调试时,我得到的提供者只填充了他们的 ID 字段。像“搜索”、“状态”等所有其他字段都是空的。

这是我在 ElasticSearch 世界中的第一次冒险,我不确定这里出了什么问题。任何帮助表示赞赏。

编辑:

来自 Elasticsearch 的提供者映射

请注意,出于测试目的,我没有在 Java 端映射 Provider 的每个字段。如果这有问题,请告诉我。

第二次更新:

我已更改 Provider 文档以按原样映射字段名称。尽管如此,除了 id 之外的所有内容仍然为空。

更新:

原来 Elasticsearch 索引有一个错误,我在 Java 端映射的字段在 ES 索引上不可用。它已被修复,我看到所有值都正确填充。

0 投票
0 回答
261 浏览

elasticsearch - 设置了 retry_on_conflict 的更新请求不起作用

我正在使用其余客户端更新一些文档并遇到一些版本冲突问题。然后我retryOnConflict(3)在创建UpdateRequest. 但是,我仍然遇到一些冲突,如下所示:

令我困惑的是当前版本是 1。由于我将重试次数设置为 3,因此在 Elasticsearch 放弃并返回失败之前,异常中报告的当前版本似乎应该更高。我调试了我的代码并确认其余客户端构建的 json 内容包含重试参数。批量请求中的脚本更新正在完成,但除此之外没什么特别的。

这只是误导性错误消息的问题,还是发生了其他事情?

0 投票
1 回答
377 浏览

java - 使用java高级rest客户端将Id列表作为Multi-Get请求的参数传递

我正在尝试使用 java 高级 rest-client 获取索引中存在的所有文档的列表。

样本索引数据是 -

要按 ID 检索多个 JSON 文档,我使用的是multi-get API,如下所示

搜索结果是

现在,我需要解析多获取请求生成的响应,并获取在索引中找到的所有 id 的列表。

Java 代码

我能够得到 Id 的列表,即[2,3](这是预期的结果)。但如下面的java代码所示,我每次都使用循环从ids列表中添加一个元素(文档ID)。for因此,每次都会创建一个新的多获取请求。

有什么办法可以将Id的完整列表作为参数传递给multi-get请求,这样multi-get请求只创建一次?

0 投票
1 回答
123 浏览

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

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

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

0 投票
0 回答
91 浏览

java - Elasticsearch java api正确的查询构建方式

我正在使用 elasticsearch java api,我对构建某些查询的方式有疑问。

我在java中有一个作为过滤器的实体,它有一些字段,这些字段必须匹配elasticserach元素。

例如:

还有一个类根据过滤器字段是否有数据来构建查询:

如您所见,如果过滤器具有值 name="jhon" 和 surname="smith",则查询将类似于:获取 (name="jhon" 和 surname="smith") 的元素

现在你知道我的程序的逻辑我将解释我的问题:在弹性搜索中,我有一个索引:motherName,motherName2,motherSurname,motherSurname2,fatherName,fatherName2,fatherSurname,fatherSurname2

并且使用相同的 FilterPerson 过滤器(只有一组名称),我必须在弹性搜索中搜索字段名称、名称 2、姓氏和姓氏 2 可能来自父亲或来自母亲,例如 if name= 'Susan' and surname='Potts' 查询必须是这样的: ((motherName='Susan' OR FatherName='Susan')AND(motherSurname='Potts'OR FatherSurname='Potts'))

我知道用“应该”我可以做 OR 部分,比如:

(母亲姓名='苏珊'或父亲姓名='苏珊')

但我不知道如何做包含两个 OR 的 AND 部分。一些帮助会很棒,谢谢

0 投票
0 回答
36 浏览

spring-boot - 添加 Elasticsearch 依赖项后 Spring Boot 未终止

我的 Spring Boot 应用程序只是执行数据摄取任务,它应该在该过程之后终止。最近我们添加了elasticsearch,数据被推送到elasticsearch服务器。但是,现在添加这些依赖项后应用程序不会被终止。

0 投票
0 回答
32 浏览

apache-camel - Apache Camel ElasticSearch Rest 返回所有记录

如何使用 ElasticSearch Rest 组件获取所有记录

其他查询成功

例外是