Вопрос о запросе диапазона Solr и SolrJ?

Предположим, что мой индекс имеет 3 поля: заголовок, x и y.

Я знаю, что один диапазон (10 ‹ x ‹ 100) может запрашивать так:

http://localhost:8983/solr/select?q=x:[10 TO 100]&fl=название

Если я хочу, чтобы два диапазона (10 ‹ x ‹ 100 И 20 ‹ y ‹ 300) запросили как

SQL (выберите заголовок, где x > 10 и x ‹ 100 и y > 20 и y ‹ 300)

с помощью запроса диапазона Solr или SolrJ, но я не знаю, как это реализовать. Кто-нибудь еще знает? Спасибо

Электронная почта: [email protected]


person Community    schedule 08.07.2009    source источник
comment
Почему это сообщество вики? Не похоже на дискуссию   -  person Yuval F    schedule 08.07.2009


Ответы (2)


Ознакомьтесь с документами. для СолрДж. Последовательные вызовы addFilterQuery будут продолжать создавать ваш запрос. В качестве альтернативы вы можете иметь две вещи в одном fq:

http://localhost:8983/solr/select?q=&fq=x:[10+TO+100]+AND+y:[20+TO+300]&fl=title
person Community    schedule 08.07.2009

В классе SolrQuery есть метод, который может решить вашу проблему, setFilterQueries(String... fq) Вы можете взглянуть на это.

person Community    schedule 16.11.2010