диапазон запросов Solr Filter - PullRequest
       10

диапазон запросов Solr Filter

0 голосов
/ 12 сентября 2018

в моем индексе у меня есть многозначное поле документа с именем "counter".он хранит значения, такие как counter: [5, 12, 75, ...] и т. д.

, если я пытаюсь получить только документы, где минимальное значение этого поля больше другого значения, которое я не могу получитьожидаемый результат.я попытался с помощью следующего фильтра запроса:

field(counter, min)\:[10 TO *]

это тип используемого поля и объявление поля в schema.xml:

<fieldType name="integer" class="solr.TrieIntField" omitNorms="true"/>           

<field name="counter" type="integer" indexed="true" stored="true" docValues="true" multiValued="true"/>

нет ошибок, но не ожидаемый результат, к несчастью.заранее спасибо.

1 Ответ

0 голосов
/ 24 сентября 2018

Вы можете использовать синтаксический анализатор frange для получения документов, которые соответствуют диапазону значений, возвращаемых функцией:

fq={!frange l=10}field(counter,min)

FunctionRangeQParser расширяет QParserPlugin и создает запрос диапазона по функции. Это также называется frange, как видно из приведенных ниже примеров.

Другие параметры:

l , нижняя граница, необязательно

u , верхняя граница, необязательно

вкл. , включает нижнюю границу: true / false, необязательно, default = true

incu , включает верхнюю границу: true / false, необязательно, default = true

...