有没有办法批量添加ElasticSearch渗透?

时间:2015-06-08 19:07:10

标签: elasticsearch elasticsearch-percolate

我想把很多文件扔给很多过滤器查询(我的查询计数是6位数)。我已经找到了如何同时多次渗透多个文档,但还没有找到如何一次批量添加多个查询。

根据documentation,我可以使用以下方法在过滤器中注册查询:

curl -XPUT 'localhost:9200/my-index/.percolator/1' -d '{
    "query" : {
        "match" : {
            "message" : "bonsai tree"
        }
    }
}'

我可以一举添加其中的许多吗?

1 个答案:

答案 0 :(得分:4)

由于查询的索引方式与普通文档一样,因此您只需按照以下方式批量添加:

curl -s -XPOST localhost:9200/_bulk -d '
{ "index" : { "_index" : "my-index", "_type" : ".percolator", "_id" : "1" } }
{ "query" : { "match" : { "message" : "bonsai tree" } }}
{ "index" : { "_index" : "my-index", "_type" : ".percolator", "_id" : "2" } }
{ "query" : { "match" : { "message" : "abc" } }}
{ "index" : { "_index" : "my-index", "_type" : ".percolator", "_id" : "3" } }
{ "query" : { "match" : { "message" : "def" } }}
{ "index" : { "_index" : "my-index", "_type" : ".percolator", "_id" : "4" } }
{ "query" : { "match" : { "message" : "xyz" } }}
'