Solr может вернуть частоту термина для данного термина с помощью функции запроса termfreq ( поле , 'term'). Однако, насколько я знаю, вы не можете получить термин «частота» для нечетких совпадений; Вы не можете написать termfreq ( field , 'term ~ 1'), чтобы получить частоту для всех терминов в пределах расстояния Левенштейна, равного 1.
Например, учитывая, что у меня есть два документа, 1 и 2, где документ 1 содержит «кошки» два раза, а документ 2 содержит «тележки» один раз и запускает запрос: q=cats~1&fl=id,freq: termfreq(text, cats)
, ответ будет выглядеть следующим образом как то так:
{'response': {'docs':
[{'id': 1, 'freq': 2},
{'id': 2, 'freq': 0}]
...
}
Я хотел бы, чтобы частота терминов, к которым был расширен поиск, включена в частоту терминов, так что ответ будет примерно таким:
{'response': {'docs':
[{'id': 1, 'freq': 2},
{'id': 2, 'freq': 1}]
...
}
Есть ли способ сделать это или что-то в этом роде относительно простым способом в Solr?