задавал в Slack вопрос: как написать пользовательскую функцию ранжирования?
На вопрос любезно ответит Vytautas Verseckas.
Решил сохранить ответ здесь - т.к. в Slack история пропадает.
Примеры можно найти в документации:
Manticore Search Manual: Functions > Searching and ranking functions#PACKEDFACTORS()
Такой запрос у меня работает:
SELECT id,
WEIGHT() as `ranker_weight`,
PACKEDFACTORS({json =1}) as `packedfactors`
FROM eshop
where match('sams*')
OPTION ranker=expr('sum((word_count+(lcs-1)*max_lcs)*user_weight)');
Примеры также приведены тут:
github