Search code examples
elasticsearchelasticsearch-dslelasticsearch-query

Elasticsearch: is bulk search possible?


i know there is support for bulk index operation. but is it possible to do the same for search queries? i want to send many different unrelated queries (to do precision/recall testing) and it would probably be faster using bulk query


Solution

  • Yes, you can use the multi search API and the /_msearch endpoint to send as many queries as you wish in one shot.

    curl -XPOST localhost:9200/_msearch -d '
    {"index" : "test1"}
    {"query" : {"match_all" : {}}, "from" : 0, "size" : 10}
    {"index" : "test2"}
    {"query" : {"match_all" : {}}}
    '
    

    You'll get a responses array with the response of each query in the same order as in the request.

    Note:

    1. make sure to separate each line by a newline character
    2. make sure to add the extra newline after the last query.