问题标签 [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 回答
64 浏览

elasticsearch - 如何设置 index.routing.allocation

我如何设置index.routing.allocation.*设置,例如:

test使用 Java API的索引?

0 投票
1 回答
1049 浏览

elasticsearch - 如何查询文档的特定分片

我可以使用首选项来查询 ES shard #2 以获取带有 id 的推文文档,1其 URL 如下所示:

如何使用 Java API 做到这一点?

编辑这个:

列出文档,而以下两者都返回 NPE:

编辑2:

那为什么如果我只有两个分片用于这个索引

我得到 NPE 和

我得到“找到:假”:

得到实际的文件id1和完整的_source

EDIT3: 对于:

我得到以下回复

0 投票
1 回答
1443 浏览

java - 如何将 Java 应用程序连接到 Elasticsearch?

我正在开发一个 Java 应用程序,我需要将我的应用程序连接到 Elasticsearch 服务器。

我是 Java 和 Elasticsearch 的新手,不确定如何继续。我找不到任何有意义的文档。

任何人都可以请指导我。提前致谢。

0 投票
0 回答
28 浏览

java - 没有应用弹性搜索过滤器?

我正在使用 elasticSearch 来查找系列中的下一集。为此,我首先过滤比上一集更高season或更高episode的剧集,然后seasonepisode升序排序,并将结果限制为 1:

在运行时将过滤器提取为字符串会给我以下查询:

这令人困惑地导致:

(为简洁起见,删除了一些字段)

请注意,episode结果season都是 1,即使过滤器指定(我认为)其中一个必须分别高于 2 和 1。

我还尝试反转排序,而是降序排序,这导致了一个完全不同系列的剧集,所以似乎sameSeriesFilter也没有应用,但是排序似乎有效!

无论如何...这里发生了什么?

更新:忘了提,这是 ES 的 v.1.7。

我已经设法让它工作了,但是发生了一些神秘的事情。一时兴起,我添加了一个空的 matchAll 查询,它应该什么都不做,但由于某种原因使一切正常。我的过滤器现在已正确应用。ES应该这样工作吗?如果是这样,为什么?新的工作代码:

0 投票
1 回答
4205 浏览

java - 如何使用 Java 传输客户端连接到 ElasticSearch?

我正在关注 Java 客户端上的 ElasticSearch 文档。我已经启动了 ElasticSearch,我可以使用 Rest API 与之交互。我想使用 Java 客户端,到目前为止,我有一个这样的主程序:

}

在 Java 日志中,我可以看到与 127.0.0.1:9300 的连接。但是在“准备索引”命令之后,我没有看到任何错误,也没有打印任何内容(我有一些系统输出命令)。在 ElasticSearch 日志中也没有任何关系。当我使用 Rest API 创建索引时,我可以在日志中看到这一点。

0 投票
1 回答
698 浏览

elasticsearch - 更新嵌套字段时出错

您好我正在使用 elasticsearch java API 来更新带有脚本的文档。但我得到了例外

以下是 ES 中的现有文档

我想更新“内容”字段如下

当我使用 REST 调用 (localhost:9200/index1/type1/1/_update) 进行更新时,它工作正常。我在 java API prepareUpdate 中遇到错误。

我有 3 个 java 类。DTO 类具有 Content 对象 Content 类具有 Metadata 对象和 contentId,只要 Metadata 类具有标题(字符串)和持续时间(长)。

下面是要更新的代码

dto 是 DTO 类的对象,并相应地设置值。

请帮忙。

0 投票
1 回答
702 浏览

elasticsearch - Elasticsearch Java API:文档计数的聚合过滤器

我想实现一个只返回频率高于某个阈值的文档的聚合。

例如,这里是获取所有文档及其计数的聚合

所以这给了我每个值的文档计数column_name

现在,可以说我不想要所有这些文件。我只想要那些doc_count大于25

所以理想的结果是

[{"doc_count":30,"key":"val1"},{"doc_count":29,"key":"val2"}]

我如何将这样的过滤器应用于我的聚合?我正在查看FilterBuilders和过滤聚合,但它们用于对文档中的任何值应用过滤器。例如,我可以应用过滤器来仅获取val1 == xza文件column_name

但这不是我要找的。我想在应用doc_cunt聚合后为值应用阈值。

这可能吗?我正在使用 elasticsearch java api 版本 1.7.2

0 投票
0 回答
299 浏览

java - 部分变化数组 ElasticSearch

我使用 ElasticSearch 2.3.3。现在我需要更新索引中文档中的许多数组之一。这是 ElasticSearch 中文档的一部分:

我尝试在 Java-API 上使用“通过合并文档更新”功能,如下所示:

但这只是重写整个数组,而我需要更新数组中的一些字段。有什么办法吗?

0 投票
1 回答
70 浏览

elasticsearch - 在elasticsearch java中的字符串索引字段中搜索单词

我有一个格式为 "SS,SX,US,IND,CND,TN" 的字符串字段国家,并且有一个输入字符串字段countryCode,其格式为"SS"。如何在弹性搜索中查询给定国家代码在国家/地区的所有记录?我尝试了和查询,但没有得到想要的结果。matchmatch_phrase

Query.must(QueryBuilders.matchPhraseQuery("国家", countryCode))

0 投票
1 回答
809 浏览

java - Elasticsearch java api 用于带过滤器的全文搜索

我想对字符串“user”进行全文搜索,该字符串可以匹配我文档中的任何字段,然后应用过滤器,以便我只获得 x 字段值为“abc”或“xyz”的记录。

摆弄 Sense ,以下请求满足我的要求。

但是,我想要一个 java api 来做上面的事情。我已经搜索了弹性文档和 SO,但没有找到我正在寻找的东西,因为 QueryBuilders.filteredQuery 之类的 api 似乎已被弃用。我目前使用的是 2.3.4,但可以升级。