问题标签 [elasticsearch-java-api]

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

java - Elasticsearch Java API 模糊搜索测试

我对本机 elasticsearch java api 有问题。我想创建一种方法来按名称属性搜索对象。到目前为止很容易,之后我想为这个方法创建一个 JUnit 测试,这里开始了问题。

有时这个测试没有问题,有时搜索结果什么都不包含,即使我创建了一些文档以确保可以找到某些东西。但是,如果我查看 elasticsearch 的数据库,文档存在,所以我想我的实现不正确或者搜索 api 有严重的延迟。

这里是正在测试的代码:

我正在使用 Elastic 1.7.0 使用 Java 8 有人重新考虑问题的位置吗?如果有人需要更多信息,请随时询问。

0 投票
2 回答
1861 浏览

elasticsearch - Elasticsearch NoNodeAvailableException

我从 Elasticsearch 收到以下错误。

我在 Ubuntu 上运行 Elasticsearch 1.7.2。

我在 elasticsearch.yml 中所做的更改

连接代码

从弹性客户端获取数据

我做错了什么?

0 投票
1 回答
633 浏览

java - 尝试连接到远程集群节点时立即中止连接

我正在尝试使用 TransportClient 从 Java 应用程序连接到 Elasticsearch 集群。

我已成功测试连接到本地运行的集群。

现在我们已经在 EC2-Cloud 中建立了一个远程集群。通过 REST 接口访问它可以工作,Kibana 也可以工作。

我可以直接在 Elasticsearch 节点上成功运行我的应用程序。

但是,当我尝试从另一台主机远程连接时,日志表明连接成功,但随后立即失败,并显示“已建立的连接已被主机中的软件中止”。

我已经验证服务器和客户端都运行相同版本的 Elasticsearch。此外,防火墙配置应允许在端口 9300 上进行通信,因为集群节点之间也需要该端口进行通信。

我的简单测试如下所示:

我还尝试验证一些常见的事情,例如未设置集群名称等。

此外,当我使用完全不同的端口时,我得到了预期的超时,而不是这个错误消息。因此,该端口的行为肯定有所不同。

我会从哪里开始寻找?这仍然是一个防火墙问题,连接仅在短时间内被丢弃而不是立即被拒绝?

0 投票
3 回答
20562 浏览

amazon-web-services - 如何使用弹性 java 客户端与 aws elasticsearch 服务通信?

我已经使用AWS elasticsearch 服务(不是 EC2)设置了一个弹性搜索服务器。它给了我一个端点https://xxx-xxxxxxxx.us-west-2.es.amazonaws.com/如果我点击这个端点(注意没有指定端口)我可以得到预期的

问题是如何在没有端口号的情况下通过 elasticsearch java 客户端获取此信息?我得到的示例代码是

如果我使用此代码并将“host1”替换为我的端点,我将得到“NoNodeAvailableException”

ps:我使用的java客户端版本是2.0.0。

编辑 我最终决定使用第 3 方 REST 客户端Jest 。但是布鲁克斯在下面回答的内容也非常有帮助——AWS 确实使用端口 80 用于 http,443 用于 https。对我来说,阻止者是我猜的防火墙。

Edit2 AWS ES 服务文档明确指出:
该服务支持端口 80 上的 HTTP,但不支持 TCP 传输。

0 投票
1 回答
3655 浏览

java - 带有匹配短语(精确搜索)子句的 Elasticsearch Java API Boost 查询

我的最终目标是对输入的短语执行精确搜索(例如:测试类型搜索),如果说精确短语与我正在寻找的列匹配,则提升结果。

我为此使用了 Elasticsearch Java API。请找到如下代码,

我想知道如何提升索引中包含这个确切值的字段。

上面的响应还返回具有值的响应,“测试代码用于这种类型的搜索”而不是“测试类型搜索”。我该如何纠正这个问题?

有没有办法找到合适的 Elasticsearch Java API 文档(2.0.0)?

0 投票
1 回答
4442 浏览

java - Elasticsearch must_not 不能使用过滤器子句

我正在从事医疗项目,我有多个问题以及附加的主题。问题是以下代码工作正常,但它不考虑“must_not”过滤器,而与“must”子句一起工作正常。帮我解决这个问题。

此外,我需要将代码转换为 Java,我正在尝试但坚持使用以下代码。

'stopdata' 索引的映射如下

为上述索引添加样本数据

0 投票
1 回答
114 浏览

elasticsearch - 如何在 Elasticsearch 中找到带有数组字段的准确短语?

我有带有字段singers映射的索引,例如:

示例数据如:

现在我想查找索引是否有确切的歌手姓名“Đàm Vĩnh Hưng”,我该怎么做?

目前,我尝试过:

但结果是空的。

欢迎任何建议。感谢你们。

经过尝试,我在使用match_phrase. 我会为遇到同样问题的任何人保留这个。请关闭这个。谢谢你。

0 投票
1 回答
77 浏览

elasticsearch - 对子事件进行排序 Elasticsearch JAVA API

我有一个名为“产品”的文档,其中包含子对象 sku,我想以一种方式对我的产品进行排序,如果 inv 为 0 的 sku 数量超过产品总 sku 的 50%,并且如果不是50%,应该不会影响订单。

0 投票
1 回答
1182 浏览

elasticsearch - Spring data elasticsearch:将排序值设置为实体字段

使用 spring-data-elastic search 使用地理距离排序从弹性搜索中查找最近的商店。

问题

StoreES 被orgCodestoreCode填充,因为它们在 _source 中。如何从搜索响应排序 [0]值填充距离值。

StoreElasticSearchRepository 方法

与上述查询等效的休息请求:

查询结果

实体对象

提前致谢。

0 投票
1 回答
1381 浏览

elasticsearch - 带有 NativeSearchQueryBuilder 空间和大写的 elasticsearch

我正在使用以下代码通过弹性搜索 java api 进行过滤,如果我使用字符串查询,它可以正常工作并返回结果,但是如果我使用带有空格或大写字母的文本,它不会返回任何数据

如果使用

返回数据

如果我使用

或者

不返回数据