2011-08-17 10 views
0

я поставил defaultOperator на «И» в schema.xml: <solrQueryParser defaultOperator="AND"/>Solr: eDismax не всегда используют defaultOperator «И»

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

Примеры:

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

field1: а поле2 ИЛИ: б: OK, у меня есть все результаты, которые я хочу

но

field1: а (поле2: в или поле2: с) делает то же самое, чем FIELD1: а ИЛИ (field2: б ИЛИ field2: с): это не нормально

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

ответ

0

Это, к сожалению, known issue. У вас есть два решения:

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

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