Как вы заставляете поиск в SolD eDismax рассматривать зарезервированное слово как литерал?

Одна запись в моих данных solr имеет поле со значением "НЕ 123456". Поскольку "НЕ" является зарезервированным словом для негатива, когда я отправляю запрос с

defType=edismax&q=NOT 123456

возвращаются все записи, кроме той, которая имеет значение "НЕ 123456". Как я могу изменить "НЕ", чтобы вместо него трактоваться как литерал?

1 ответ

Решение

Согласно синтаксису запроса Lucene, у вас есть два варианта:

  1. Если вам не нужно искать зарезервированное слово во всем верхнем регистре, вы можете просто использовать строчную форму. Это будет работать, потому что зарезервированные слова срабатывают только тогда, когда все они в верхнем регистре.
  2. Если вам нужна заглавная форма, вам следует зарезервировать зарезервированное слово в вашем запросе с помощью "двойных кавычек", потому что зарезервированные слова срабатывают только тогда, когда они окружены пробелами.
Другие вопросы по тегам