Отобразить поле на большее, чем поле в Solr
Я собираюсь добавить в свой проект функцию, которая позволит пользователям размещать запрос Solr, например...
immigration law citations:50
... которые дадут юридические документы, содержащие "иммиграцию" И "закон" И количество цитирований больше 50.
Внутренне я могу разобрать строки как citations:50
и преобразовать их в citations:[50 TO *]
, но пост-обработки парсера запросов лучше избегать, если это возможно.
Похоже, в схеме должен быть способ сказать: "Когда люди ищут в этом поле, всегда ищите значение и находите что-то большее".
Что-нибудь подобное или идеи о том, как сделать это элегантно? Я ненавижу постобработку запросов в моем приложении. Противные вещи.
1 ответ
Чтобы не зависеть от конкретной реализации QueryParser, вы можете создать собственный тип поля, переопределив getFieldQuery
метод типа поля, который вы используете в настоящее время для возврата запроса диапазона вместо запроса термина.
Смотрите реализацию по умолчанию для getFieldQuery.
Но я все еще нахожу это немного вводящим в заблуждение иметь :
имею в виду ≥
,