Простой способ предоставить рекомендацию - использовать встроенную функцию MLT (более похожую на эту):
https://lucene.apache.org/solr/guide/7_5/morelikethis.html
Это возвращает идентификаторы из аналогичных документов. Но это не рекомендация, основанная на поиске других людей. Вы должны заказать документы (например, список результатов MLT), основываясь на том, что другие пользователи «нажали» в отношении. Вероятно, вам интересна функция пере-ранжирования: https://lucene.apache.org/solr/guide/7_4/learning-to-rank.html
Наконец, вы должны выяснить, какие документы открыли другие люди после поиска аналогичного термина. Поэтому, если человек ищет «синие автомобили», другие пользователи искали «синие автомобили», они получают (возможно, или нет) разные документы.
Вы должны кластеризовать поисковые термины, а также сохранять и вычислять, какие документы нажимаются по отношению к поисковому запросу. Это означает, что каждый щелчок по одному документу должен обновлять вашу статистику документов. Эта статистика документации является вашей базой для поиска и ранжирования ваших рекомендаций.
Это означает, что в solr нет встроенной функции, которая обеспечивает все это в одном. Но вы можете использовать некоторые встроенные функции solr для реализации своих собственных мощных функций рекомендаций.