Solr: eDismax не всегда использует оператор по умолчанию «И» - PullRequest
0 голосов
/ 17 августа 2011

Я устанавливаю defaultOperator на «И» в schema.xml: <solrQueryParser defaultOperator="AND"/>

Я использую defType = eDismax в своем запросе.Он работает очень хорошо, но когда я хочу использовать операторы «И» или «ИЛИ», он не использует «И» в качестве оператора по умолчанию для пробелов, которые я оставил без операторов.

Примеры:

поле1: поле2: b делает то же самое, что и поле1: поле И2: b : ОК

поле1: поле ИЛИ2: b : ОК, у меня есть все результаты, которые я хочу

, но

field1: a (field2: b ИЛИ field2: c) делает то же самоевещь, чем поле1: ИЛИ (поле2: b ИЛИ поле2: с) : это не нормально

Как я могу заставить его использовать «И» в качестве оператора по умолчанию даже в этом случае?

1 Ответ

0 голосов
/ 22 января 2012

Это, к сожалению, известная проблема . У вас есть два решения:

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

Я тоже сталкиваюсь с этим. Похоже, нет простых решений в атм сайта. Вы можете проголосовать за ошибку ... не уверен, что это многое значит.

...