Есть ли способ массового добавления перколяций ElasticSearch?

Я хочу бросить свои многочисленные документы в МНОГО запросов перколятора (мой счетчик запросов находится в 6-значном коде). Я нашел способ многократного использования нескольких документов одновременно, но не нашел способа массового добавления нескольких запросов одновременно.

Согласно документации, я могу зарегистрировать запрос в перколаторе, используя:

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

Могу ли я добавить многие из них одним махом?

1 ответ

Решение

Поскольку запросы индексируются как обычные документы, вы можете просто массово добавить их следующим образом:

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" } }}
'
Другие вопросы по тегам