问题标签 [elasticsearch-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 投票
2 回答
6757 浏览

java - ElasticSearch Java Api:更新现有文档

我目前正在尝试通过 Java API 更新 ElasticSearch 文档。我有一个带有以下代码的 groovy 脚本:

我遇到的问题是我想更新以下文档中的数组:

在上面的文档中,我有一个文档,其中包含一个名为“policies”的数组,其中包含一个对象。我希望能够使用其他对象更新“策略”数组。最终结果应如下所示:

我究竟做错了什么?

0 投票
0 回答
505 浏览

elasticsearch - Elasticsearch 查询生成器“IN”查询

我正在尝试in在弹性搜索中复制 SQL 查询......类似于select * from products where id in ('123, '345');

我有类似下面的东西 -

我从最后得到的回应System.out.println如下,

我确定有两种产品带有产品 ID 123345因为我可以通过 Kibana 看到它们。但是上面的代码没有返回任何命中。我是否IN以正确的方式复制 SQL 查询?

0 投票
1 回答
123 浏览

rest - 向elasticsearch客户端恢复功能中的多个功能

我正在使用节点构建一个 REST API 并重新验证与弹性搜索数据库的通信。现在,当我删除一个对象时,我希望它对其他一些对象执行一种级联删除。我知道这不是真正使用弹性搜索的目的,但请耐心等待。

所以这是我的代码:

所以基本上我只想搜索主机名 www.test.com 的任何对象(我只是硬编码来测试它)。然后我想删除我找到的所有对象。它遵循错误路径并将其发送给我:

所以在我看来这看起来不像一个错误?那么为什么我把它作为一个错误返回呢?如果我删除:

从我的代码中,我不会得到任何响应。

0 投票
1 回答
2807 浏览

java - ElasticSearch:在现有的对象字段数组中附加对象

我的字段映射:

我有数据:

当我插入密码时:

它工作正常。对于普通数组字段(不是对象数组),附加工作正常。

但是当我想将对象插入为:

当我使用此代码插入它时:

它给了我错误:

请帮忙。

0 投票
0 回答
1026 浏览

elasticsearch - 更新 ES 映射时如何设置默认字段值

我在 elasticsearch 中有“商店”索引,并希望使用以下 json 添加“链”字段:

如何为索引中的所有现有文档设置默认值?

0 投票
1 回答
175 浏览

java - 搜索 Api 中的自定义查询解析器

我有一个自定义查询解析器,我可以使用 Sense 查询我的索引,如下所示:

我的问题是,如何在 Search Api 中使用 myParser 解析查询?如何在 QueryBuilders 中提及 Parser?

0 投票
0 回答
229 浏览

elasticsearch - 从 Elasticsearch Java API 中检索总词频

我正在编写一个 Elasticsearch 插件,在这个插件中我需要从某个字段中指定的检索词频率计数。目前我正在使用下面的查询,并从结果中读取命中数:

但是,这需要执行多次(10-20 次)并且似乎很慢。有没有办法使用 Elasticsearch Java API 并直接从倒排索引中读取数据?

在 Lucene 中,我使用了一个名为 的函数totalTermFreq(),它直接从倒排索引中读取该术语在所有文档中出现的总次数。Lucene 的函数文档可以在这里找到

0 投票
0 回答
750 浏览

elasticsearch - 在 Elastic 中同时使用 Delete By Query API 和 Bulk API

我看不到任何关于在弹性搜索中使用查询 api 删除和批量 api 的文档/示例。

简单地说,我想删除所有具有相同A字段的文档并在此之后插入许多文档。如果删除过程失败,则不应插入任何文档。

例如

有没有办法一起使用它们?谢谢。

0 投票
1 回答
142 浏览

rest - 为什么弹性搜索批量插入使用 \n 分隔符,而不是使用 json 对象数组?

以下是弹性搜索文档提供的批量插入示例:https ://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html

他们提到“因为这种格式使用文字 \n 作为分隔符,请确保 JSON 操作和源没有很好地打印出来”。

我想知道这种输入格式背后的原因以及他们为什么不选择 JSON 对象数组。

例如:

上面的结构不正确,但类似的东西在 REST API 开发标准中我是否缺少一些常见的东西?分隔符而不是数组?

0 投票
0 回答
68 浏览

elasticsearch - Elasticsearch 匹配查询和标记化

我写了以下关于由空格标记的字段的查询:

我有两个与我的索引上的查询匹配的文档,一个在该字段上带有“bora”,另一个带有“bora bora”。

我的问题是“bora bora”文件的得分比另一个文件高,这不是必需的行为。

您是否看到了一种方法来执行相同的查询,但优先考虑不重复搜索词的记录?

我无法更新索引/删除标记化。