Поиск документов в Lucene, где термин встречается более определенного числа раз - PullRequest
0 голосов
/ 13 октября 2019

Есть ли способ создать с помощью Solr (или непосредственно Lucene) запрос, который найдет документы, содержащие термин более определенного числа раз?

В настоящее время мне удалось только придуматьобходное решение с использованием SpanNearQuery. Это может быть использовано, чтобы сказать, что два промежутка находятся рядом друг с другом, поэтому с помощью n - 1 в inOrder SpanNearQuerys такой запрос можно построить, например, «term» должен встречаться 4 раза: ((«term» near «term») near «term») рядом с «term»

, где «term» - это SpanTermQuery, а вблизи - «inOrder SpanNearQuery» с большим уклоном

1 Ответ

2 голосов
/ 13 октября 2019

termfreq функция запроса используется для выборки частоты термина и, кроме того, может использоваться синтаксический анализатор запросов диапазона функций , который разрешает запросы диапазона или диапазонфильтрует произвольные функции.

q=*&fq={!frange l=2}termfreq(category_t,'demo')

Приведенный выше запрос извлекает только те документы, в которых демонстрация повторяется два или более раз в поле category_t.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...