Elasticsearch: is bulk search possible?

piotrek picture piotrek · Jan 20, 2016 · Viewed 7k times · Source

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

Answer

Val picture Val · Jan 20, 2016

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.