问题标签 [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.
java - ElasticSearch Java Api:更新现有文档
我目前正在尝试通过 Java API 更新 ElasticSearch 文档。我有一个带有以下代码的 groovy 脚本:
我遇到的问题是我想更新以下文档中的数组:
在上面的文档中,我有一个文档,其中包含一个名为“policies”的数组,其中包含一个对象。我希望能够使用其他对象更新“策略”数组。最终结果应如下所示:
我究竟做错了什么?
elasticsearch - Elasticsearch 查询生成器“IN”查询
我正在尝试in
在弹性搜索中复制 SQL 查询......类似于select * from products where id in ('123, '345');
我有类似下面的东西 -
我从最后得到的回应System.out.println
如下,
我确定有两种产品带有产品 ID 123
,345
因为我可以通过 Kibana 看到它们。但是上面的代码没有返回任何命中。我是否IN
以正确的方式复制 SQL 查询?
rest - 向elasticsearch客户端恢复功能中的多个功能
我正在使用节点构建一个 REST API 并重新验证与弹性搜索数据库的通信。现在,当我删除一个对象时,我希望它对其他一些对象执行一种级联删除。我知道这不是真正使用弹性搜索的目的,但请耐心等待。
所以这是我的代码:
所以基本上我只想搜索主机名 www.test.com 的任何对象(我只是硬编码来测试它)。然后我想删除我找到的所有对象。它遵循错误路径并将其发送给我:
所以在我看来这看起来不像一个错误?那么为什么我把它作为一个错误返回呢?如果我删除:
从我的代码中,我不会得到任何响应。
java - ElasticSearch:在现有的对象字段数组中附加对象
我的字段映射:
我有数据:
当我插入密码时:
它工作正常。对于普通数组字段(不是对象数组),附加工作正常。
但是当我想将对象插入为:
当我使用此代码插入它时:
它给了我错误:
请帮忙。
elasticsearch - 更新 ES 映射时如何设置默认字段值
我在 elasticsearch 中有“商店”索引,并希望使用以下 json 添加“链”字段:
如何为索引中的所有现有文档设置默认值?
java - 搜索 Api 中的自定义查询解析器
我有一个自定义查询解析器,我可以使用 Sense 查询我的索引,如下所示:
我的问题是,如何在 Search Api 中使用 myParser 解析查询?如何在 QueryBuilders 中提及 Parser?
elasticsearch - 从 Elasticsearch Java API 中检索总词频
我正在编写一个 Elasticsearch 插件,在这个插件中我需要从某个字段中指定的检索词频率计数。目前我正在使用下面的查询,并从结果中读取命中数:
但是,这需要执行多次(10-20 次)并且似乎很慢。有没有办法使用 Elasticsearch Java API 并直接从倒排索引中读取数据?
在 Lucene 中,我使用了一个名为 的函数totalTermFreq()
,它直接从倒排索引中读取该术语在所有文档中出现的总次数。Lucene 的函数文档可以在这里找到
elasticsearch - 在 Elastic 中同时使用 Delete By Query API 和 Bulk API
我看不到任何关于在弹性搜索中使用查询 api 删除和批量 api 的文档/示例。
简单地说,我想删除所有具有相同A
字段的文档并在此之后插入许多文档。如果删除过程失败,则不应插入任何文档。
例如
有没有办法一起使用它们?谢谢。
rest - 为什么弹性搜索批量插入使用 \n 分隔符,而不是使用 json 对象数组?
以下是弹性搜索文档提供的批量插入示例:https ://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html
他们提到“因为这种格式使用文字 \n 作为分隔符,请确保 JSON 操作和源没有很好地打印出来”。
我想知道这种输入格式背后的原因以及他们为什么不选择 JSON 对象数组。
例如:
上面的结构不正确,但类似的东西在 REST API 开发标准中我是否缺少一些常见的东西?分隔符而不是数组?
elasticsearch - Elasticsearch 匹配查询和标记化
我写了以下关于由空格标记的字段的查询:
我有两个与我的索引上的查询匹配的文档,一个在该字段上带有“bora”,另一个带有“bora bora”。
我的问题是“bora bora”文件的得分比另一个文件高,这不是必需的行为。
您是否看到了一种方法来执行相同的查询,但优先考虑不重复搜索词的记录?
我无法更新索引/删除标记化。