Ruby 中不应该有任何特殊的方法,除了一个简单的_bulk
操作将 指定为您的_index
索引和:_type
.percolator
POST /_bulk
{"index":{"_index":"some_index","_type":".percolator","_id":"1"}}
{"query":{"match":{"whatever_field":"some value 1"}}}
{"index":{"_index":"some_index","_type":".percolator","_id":"2"}}
{"query":{"match":{"whatever_field":"some value 2"}}}
{"index":{"_index":"some_index","_type":".percolator","_id":"3"}}
{"query":{"match":{"whatever_field":"some value 3"}}}
为了发送多个 percolate 请求,存在percolate,它最初是由于 percolate in bulk 功能请求而创建的,最终被称为multi percolate api。而且我看到 elasticsearch-ruby支持它。
它的?percolate=*
功能bulk
似乎不在参数列表中_bulk
,实际上,为此打开了一个问题:github.com/elastic/elasticsearch-ruby/issues/176。
稍后编辑:我再次查看了这个,我更倾向于相信这个特性已经在 ES 1.0.0 中完全删除,在 percolator redesign github issue 之后。我没有看到关于此被删除的具体声明,但与重新设计后的带有选项的批量索引相关的源代码percolator
已被删除。此外,文档没有在任何地方指定此选项。通常,发生这种情况不是疏忽,而是功能根本不存在。仍然与文档相关 - 不要忘记您在网上找到的任何关于此的资源至少有两年的历史,我会在假设它们仍然有效之前对它们持保留态度。
curl
如果您使用或 Sense 在 Elasticsearch(没有 ruby、nest 或任何客户端)中测试它并发现它不起作用,我不会感到惊讶。我刚刚在 1.6 中对此进行了测试,但没有看到该功能。