问题标签 [elasticsearch-jest]

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

elasticsearch - ElasticSearch querying using JestClient seems to be very slow

I have recently read about Elasticsearch, and I am using Jest to interact with Amazon Elasticsearch Service. I have been able to leverage Jest's documents and index data into the ES.

However, when I try to query using a boolean query, I see extremely high latencies. I tried performing a POST request using POSTMAN and I see the latencies to be much much lower.

Here's the example:

Jest Query: Given a key, value: Return a list of objects.

JestClient client:

Output: SearchBuilder: 12 ClientExecute: 1193

On the other hand using POSTMAN: I have the POST request with the body:

This is performed on: es.ap-southeast-1.es.amazonaws.com/index/_search Output:

"took": 1, "timed_out": false, "_shards": { "total": 10, "successful": 10, "failed": 0 },

I tried using Searchsourcebuilder as well. But to no avail. Am I using the right API?

0 投票
0 回答
531 浏览

rest - java.lang.NoSuchMethodError: io.searchbox.client.config.HttpClientConfig.isRequestCompressionEnabled()Z

我正在尝试使用 Jest Client 进行弹性搜索的 REST 调用。我收到以下错误JestClient client = factory.getObject();

JestTest.main(JestTest.爪哇:22)

以下是代码:

如何修复此错误?

0 投票
1 回答
938 浏览

elasticsearch - 弹性搜索查询字符串 java api 对所有结果给出相同的分数

我正在使用以下搜索查询:

{“来自”:“0”,“大小”:“20”,“查询”:{“查询字符串”:{“字段”:[“标题”],“查询”:“卖家*”,“分析通配符”:真的}}}

这个 curl 命中以正确的分数返回给我的命中/结果,而我正在尝试通过 elasticsearch 传输客户端进行相同的操作,例如:

这将针对所有命中返回具有相同分数的结果。

即使我尝试与开玩笑的客户,结果也是一样的,我没有在结果中得到正确的分数。

0 投票
0 回答
103 浏览

android - Jest 不断返回具有不同查询的所有文档

我正在为我的 Android 应用程序使用 Jest,这是一个用于 Elasticsearch 的 Java Http REST 客户端。根据本教程构建食谱搜索引擎,我想从 android 搜索食谱。

在使用终端的简单搜索时,例如

给我正确的结果,无论查询是什么,使用 Jest 都会给我所有的文档。

我在 Android 中的代码段:

问题出在哪里?就像查询不包含在 POST 请求的数据中一样。

0 投票
1 回答
643 浏览

java - 通过 elasticsearch java 客户端更新索引设置

我正在使用 Jest 客户端库与我的 ES 集群进行连接和交互。我能够成功地将文档注入索引并指定设置。

我在更新索引文档后指定的设置时遇到问题。文档似乎并不清楚如何实现这一点。

0 投票
1 回答
1905 浏览

java - 使用 Jest 或 Java API 有没有办法告诉 Elasticsearch 从 json 创建文档作为字符串?

鉴于此 POJO:

“名称”属性将是一个 json 字符串,我需要为其创建嵌套文档。这是我需要使用 Jest 客户端保存到 Elasticsearch 的实例示例:

ES 中的结果文档如下所示:

所以它采用字符串名称并将其作为文字字符串插入,这是有道理的,但我实际上需要从每个名称对象创建文档。换句话说,我希望它看起来像这样:

我尝试添加一个映射来告诉 ES 将其视为“嵌套”,但随后我得到一个 Mapper Parsing 异常,说“试图将字段 [names] 解析为对象,但找到了一个具体值”。

我知道如果我创建一个实际的 Name POJO 对象并拥有它们的列表,我应该能够做到这一点,但不幸的是,由于要求我无法做到这一点。我必须使用上面指定格式提供的 JSON 字符串。

解决方案:

感谢 Vishal Rao 为我指明了正确的方向。

解决方案是将“名称”类型更改为 JsonArray (Google GSON)。然后像这样使用谷歌 GSON 解析器:

此外,我还有一个将 names 属性设置为嵌套类型的映射。

0 投票
1 回答
284 浏览

elasticsearch - 在 JEST 中使用 ES Document.Builder 类创建映射

我正在尝试使用 ElasticSearch 中的 Document.Builder 类在 JEST 中为我的 indext 创建映射。我已经按照 JEST 自述文件中指定的示例进行了操作,但它似乎不起作用。

对于我使用的 ES 版本(v2.3.0),DocumentMapper.Builder 类似乎不包含示例中所述的 Builder 构造函数中相同的指定参数。如果有更新,有人可以指点我吗?

0 投票
1 回答
539 浏览

java - 有没有办法为 Elasticsearch Java API 提供日期转换器?

我有一个遗留域对象,它以毫秒为单位存储日期/时间。我现在想使用 JestClient 在 ES 中索引这个对象,它只是 ES Java API 的包装器。

有没有办法告诉 ES在索引时将这个长值转换为strict_date_time_no_millis格式( )的日期?"yyyy-MM-dd'T'HH:mm:ssZZ"如果是这样,那么是否可以告诉 ES 在检索结果时将 Date 转换回毫秒?

0 投票
1 回答
919 浏览

java - Elasticsearch 返回没有父对象的嵌套对象

我有一个看起来像这样的索引:

我正在通过 Java 客户端查询此索引。对于这个查询,我不关心作者;我只想拿回书。例如,我想查找标题和第一句话中包含“Hello”一词的所有书籍。

目前,我使用返回作者列表的嵌套查询,然后我手动解析该列表以获取书籍。有没有办法让 Elasticsearch 直接返回书籍列表?我正在使用 Elasticsearch 1.5.2 版和 Jest 0.1.6

0 投票
1 回答
775 浏览

java - Mockito 无法模拟此类 JestClient

我正在为 JestClient 包装器编写单元测试。我正在尝试使用 Mockito 来模拟 JestClient,但出现以下错误:

这是我定义模拟的方式:

我不确定为什么会出现错误,因为 JestClient 只是一个接口。我在用:

开玩笑:0.1.6

Mockito:2.0.36-beta

春天:4.2.4

编辑:我认为问题在于 Elasticsearch 库。我使用的是 Elasticsearch 1.5.2;当我切换到 2.2.0 时,问题就消失了。不幸的是,这对我没有帮助,因为我正在与之交谈的集群在 1.5.2 上运行。