Мне нужно разделить сорл на основе нескольких категорий, точнее, 3 категории. Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно по-другому рассматривать то, что по сути является отдельными запросами, но я пытаюсь определить, могу ли я сделать это с одним. По сути, я хотел бы сделать filter.query, но вместо подсчета я хотел бы получить значения совпадений.
проблема заключается в том, что я сопоставляю несколько полей для одного и того же значения, скажем, field1=*bah* OR field2=*bah* or field3=*bah*
, и я рассматриваю поле1, поле2 и поле3
Запрос действительно возвращает те документы, поля которых совпадают, но, на самом деле, для field1 не включает только matchign field1 bah.. но включает документы, которые соответствуют field2 и field3, чье значение field1 не было bah.
id в основном любит использовать fq={!tag} с facet.field{!ex} для создания аспектов field1 только с совпадающими значениями field1, аспекта 2 без значения field2 matchign... и т.д.
Возможно ли это даже с одним запросом в solr?
Вот моя базовая установка
<document>
<field1>bah boo</field1>
<field2>bah bing</field2>
<field3>boo bar</field3>
</document>
<document>
<field1>bar boo</field1>
<field2>bah bong</field2>
<field3>bah bar</field3>
</document>
<document>
<field1>bar boo</field1>
<field2>ding bah</field2>
<field3>bog bar</field3>
</document>
<document>
<field1>ban bah</field1>
<field2>ban bing</field2>
<field3>bbah bar</field3>
</document>
и я хотел бы вернуться
<facets>
<field1>
<str>bah boo</str>
<str>ban bah</str>
</field1>
<field2>
<str>bah bing</str>
<str>bah bong</str>
<str>ding bah</str>
</field2>
<field3>
<str>bah bar</str>
<str>bbah bar</str>
</field3>
</facets>