Отобразить поле на большее, чем поле в Solr

Я собираюсь добавить в свой проект функцию, которая позволит пользователям размещать запрос Solr, например...

immigration law citations:50

... которые дадут юридические документы, содержащие "иммиграцию" И "закон" И количество цитирований больше 50.

Внутренне я могу разобрать строки как citations:50 и преобразовать их в citations:[50 TO *], но пост-обработки парсера запросов лучше избегать, если это возможно.

Похоже, в схеме должен быть способ сказать: "Когда люди ищут в этом поле, всегда ищите значение и находите что-то большее".

Что-нибудь подобное или идеи о том, как сделать это элегантно? Я ненавижу постобработку запросов в моем приложении. Противные вещи.

1 ответ

Решение

Чтобы не зависеть от конкретной реализации QueryParser, вы можете создать собственный тип поля, переопределив getFieldQuery метод типа поля, который вы используете в настоящее время для возврата запроса диапазона вместо запроса термина.

Смотрите реализацию по умолчанию для getFieldQuery.

Но я все еще нахожу это немного вводящим в заблуждение иметь : имею в виду ,

Другие вопросы по тегам