Меняется ли стратегия поиска в зависимости от кол-ва критериев в запросе?

Добрый день.

Пробуем делать запрос:

# cat elastic.request
{
    "from": 0,
    "query": {
        "ids": {
            "values": [
                1,
                2,
                3
            ]
        }
    },
    "size": 100
}

Прогоняем его

ab  -n10000 -c200 -p elastic.request "http://elastic.host:9200/items/_search"

Добавляем ещё values и прогоняем через ab ещё раз. Получили такую зависимость размера values и RPS эластика:

Размер values	1	5	10	12	16	17	20	30	50
RPS		8200	3682	2114	1814	1406	5505	4623	3390	2594

Наблюдаем картину падения RPS до 16 значений, а на 17 резкий скачёк вверх как, если бы при размере values большем 16 менялась стратегия поиска.

Вопрос: можно ли выяснить с чем связанна такая аномалия?

Связана она с тем, что меняется стратегия поиска. См [LUCENE-6360] TermsQuery should rewrite to a ConstantScoreQuery over a BooleanQuery when there are few terms - ASF JIRA