我正在使用Elasticsearch,并且正在构建客户端(使用Java客户端API)以导出通过Logstash索引的日志。
我希望能够在新文档为索引(=已添加新的日志行)时收到通知(通过在某个位置添加侦听器),而不是查询最近的X个文档。
可能吗 ?
这就是您要寻找的:https :
//github.com/ForgeRock/es-change-feed-
plugin
使用此插件,您可以注册到Websocket频道以接收发生索引/删除事件。但是,它有一些限制。
过去,可以安装river插件以将文档流式传输到ES。河功能已被删除,但是上面的此插件像“反向河”,当文档被建立索引时,ES会通知外部客户。
ES 6.x非常有用,而且似乎是最新的
更新(2019年4月14日):
根据Elastic {ON} Zurich 2019上的说法,在7.x系列中的某个时候,将有一个Changes
API
,它将提供索引更改通知(文档创建,更新,删除等)。
问题内容: 我正在尝试了解如何在Elasticsearch中更新索引文档。我不明白它是如何工作的?什么是该API指的是在做什么?假设您有一个带有嵌套文档的文档,您需要做什么来更新它? 删除文档然后索引“已更新”版本与普通更新之间有什么区别? 问题答案: 更新请求从Elasticsearch检索源,对其进行修改并将其索引回Elasticsearch。如果您已经具有使用更新的文档副本,则毫无意义。仅索
我正在开发用于搜索的spring应用程序。我使用elasticsearch spring数据库创建索引和管理文档。为了查询(搜索),我使用了elasticsearch中的常规客户端,而不是spring数据。 我注意到,spring数据只有在elasticsearch中缺少索引时才会创建索引。每当将新字段添加到用@Document注释的类时,映射将不会更新。因此,在刚刚添加的字段中搜索会导致错误的请
问题内容: 我正在尝试更新现有的索引文档。我已经索引了标签,标题和所有者字段。现在,当用户更改标题时,我需要在索引中查找并更新文档。 我应该更新和替换整个文档还是仅替换标题字段? 就是行不通。上面的代码生成语法错误。有谁知道使用ElasticSearch的C#NEST客户端执行此操作的正确方法? 问题答案: 我已使用以下方法通过NEST成功更新了Elasticsearch索引中的现有项目。请注意,
> 下载了。90.6,解压缩,将弹性搜索移动到/usr/share/elasticsearch(在centosx64 6.4上具有chmod 777-r权限),将集群重命名为somethingdupd,并启动服务器。 根据文档,我应该能够做到这一点。但它也什么也不做:
问题内容: 我用映射创建了一个新索引。其中存储了500 000个文档。 我想更改索引的映射,但是在elasticsearch中是不可能的。所以我用新的新映射创建了另一个索引,现在我正尝试将文档从旧索引复制到新索引。 我正在使用扫描和滚动类型从旧索引中检索文档并将其复制到新索引。复制需要花费更多时间,并且系统运行缓慢。 下面是我正在使用的代码。 问题答案: 您不必编写类似的代码。周围有一些出色的工具
ES5.5文档给出了一个大容量索引的明确示例: 但它也说 endpoint为/_bulk、/{index}/_bulk和{index}/{type}/_bulk。当提供了索引或索引/类型时,默认情况下将在未显式提供它们的批量项上使用它们。 但我不能让这一切奏效。 > 我尝试了/myindex/bulkendpoint,但元数据中没有指定类型。 我在指定了“_type”:“_default_”的情况