Я работаю с парсерами "edismax" и "function-query" в Solr, и мне сложно понять, имеет ли смысл время запроса, взятое с помощью "function-query".Запрос, который я пытаюсь оптимизировать, выглядит следующим образом:
q = {! Func sum ($ q1, $ q2, $ q3)}, где q1, q2, q3 - запросы edismax.
QTime, возвращаемый запросами edismax, занимает менее 50 мс, но кажется, что запрос-функция - это шаг определения скорости, поскольку приведенный выше комбинированный запрос занимает около 200-300 мс.Я также проанализировал производительность функционального запроса, используя только константы.
Результаты QTime для различных q следующие:
097ms для q = {! Func} sum (10,20)
109 мс для q = {! Func} sum (10,20,30)
127 мс для q = {!func} sum (10,20,30,40)
145ms для q = {! func} sum (10,20,30,40,50)
Имеет ли эта тенденция смысл?Ожидается ли, что функциональные запросы будут такими медленными?
Что делает запросы edismax намного быстрее?
Что я могу сделать, чтобы мой исходный запрос (который имеет подзапросы edismax q1, q2, q3) работал под 100 мс?