2013-12-08 1 views
0

Я понимаю, как огранка в Solr работает и имеет базовое понимание синтаксиса запроса Solr, но у меня возникли проблемы с созданием запроса фасет, чтобы получить то, что я хочу. Вот сценарий:Найти все документы, которые не имеют значения в нескольких индексированных полях

У меня есть набор пользователей, которые все индексируются в Solr. У них есть три поля:

  1. приглашенные тесты - тесты, они были приглашены, но еще не принятые
  2. прошли испытания - испытания, которые они предприняли, и прошли
  3. неудачные тесты - тесты, которые они предприняли и не удалось

Ни одно из этих полей не перекрывает и не содержит независимых наборов тестов. У меня есть фасетные запросы, написанные для этих трех полей, которые возвращают подсчеты пользователей, которые, например, были приглашены для тестирования x, test y, test z и т. Д. И аналогично для прошедших и неудавшихся тестов.

Теперь мне нужна грань по сравнению с теми тестами, которые не существуют ни в приглашенных, ни переданных, ни в неудачных наборах, что привело бы к составлению списка счетчиков, аналогичных другим аспектам, то есть количеству пользователей, которые не были приглашены не прошел или не прошел тест x, y, z и т. д. Как бы мне построить грань для этого? И как я могу написать запрос фильтра для извлечения фактического набора пользователей, которые составляют этот счет фасет?

ответ

1

Я отнюдь не эксперт, но вы не могли бы сделать что-то вроде:

-invitedtests: х И -passedtests: х И -failedtests: х

Чтобы найти людей, которые не были приглашен, прошел или не прошел тест «х»?

Смежные вопросы