Как найти более одного аспекта в Solr? - PullRequest
3 голосов
/ 09 ноября 2011

Мне нужно искать аспекты в solr, как показано ниже:

fq = страна: сша fq = страна: Канада fq = тема: промышленная fq = тема: политическая

теперь мне нужно искать статьи, которые имеют вышеуказанные грани (логическое И) и (логическое И).
предположим, что у меня есть следующие статьи

  1. страна = США Франция // Рубрика: Промышленные науки
  2. страна = США, канада // Рубрика: Промышленные
  3. страна = США, канада // Тема: индустриальная политика

сейчас я попробовал

http://127.0.0.1:8888/solr/Collection1/select?q=*:*&start=0&rows=10&facet=true&fq=country:USA&fq=country:canada&fq=topic:political&fq=topic:industrial

но это ничего не вернуло :( Не могли бы вы, пожалуйста, подскажите мне, как искать эти лица, используя AND и OR между ними
Спасибо за вашу помощь

Ответы [ 2 ]

3 голосов
/ 09 ноября 2011

Вы можете использовать логические операторы для фильтрации результатов.

ИЛИ - fq=country:(USA OR canada)&fq=topic:(political OR industrial)

И - fq=country:(USA AND canada)&fq=topic:(political AND industrial)

0 голосов
/ 09 ноября 2011

Подобные вещи были бы еще проще, если бы разработчики Solr реализовали этот запрос функции:

https://issues.apache.org/jira/browse/SOLR-1223

Это нравится, потому что тогда каждый fq может быть задан (и кэширован) отдельнои логика И / ИЛИ fq's отделена.Ваш случай довольно прост, и приведенный выше ответ очень хорош, но когда вы получаете какие-то неприятные fq просто и объединение их всех недостаточно мощно.

...