По умолчанию Solr использует оператор OR для объединения условий запроса. Если вам нужны результаты только с location:N1 AND type:blue
вместо location:N1 OR type:blue
, вам нужно сменить оператора. Самый простой способ изменить это, добавив дополнительный параметр q.op=AND
к URL при запросе:
../select/?q=location:N1 type:blue&rows=100&fl=*,score&debugQuery=true&q.op=AND
Вы также можете изменить это для всех запросов, отредактировав файл schema.xml; искать
<solrQueryParser defaultOperator="OR"/>
и измените его на
<solrQueryParser defaultOperator="AND"/>
Возможно, вы также захотите изменить тип поля вашего поля type
на то, что не является токенизированным, например string
Это обеспечит точное совпадение в этом поле.
<field name="type" type="string" indexed="true" stored="true"/>