SOLR FL и расчет параметров буста - PullRequest
0 голосов
/ 21 февраля 2019

У меня очень сложная и длинная функция в параметре буста.Эта функция всегда будет возвращать значение от 1 до 50. Я хотел бы, чтобы результаты этой функции были включены в fl param.

Первый вопрос: могу ли я сослаться на результаты повышения во FL-параметре без необходимости передавать функцию AGAIN в FL-параметре?

Второй вопрос: если я назначу переменную дляфункция повышения, а затем ссылка на эту переменную в параметре fl, SOLR выполнит вычисление дважды?(я имею в виду один раз для поля наддува, а другой - для поля fl)

моя функция параметра усиления выглядит следующим образом:

boost=sum(div(5,map(abs(sub(x,y)),0,0,VALUE), termfreq(...), dist(2,0,0,x,y),.....)

вышеупомянутая функция является лишь кратким примером того, что такое повышениеможет выглядеть так.Кроме того, эта функция повышения генерируется динамически.Использую edismax и SOLR v7.6

1 Ответ

0 голосов
/ 22 февраля 2019

Подстановка параметров происходит до того, как что-то внутреннее происходит в Solr, поэтому в этом случае оно будет рассчитано дважды.

Вы можете добавить debug=results к строке запроса, чтобы получить подробную информацию о том, насколько каждая часть вашего запроса внесла вклад в оценку, и вы сможете извлечь величину усиления, примененную из этой отладочной информации (и избегать его расчета дважды).Вы можете добавить debug.explain.structured=true, чтобы получить информацию объяснения, возвращенную в виде правильной структуры, а не в виде отформатированного текста (с новыми строками и т. Д.)

...