Как вы заставляете поиск в SolD eDismax рассматривать зарезервированное слово как литерал?
Одна запись в моих данных solr имеет поле со значением "НЕ 123456". Поскольку "НЕ" является зарезервированным словом для негатива, когда я отправляю запрос с
defType=edismax&q=NOT 123456
возвращаются все записи, кроме той, которая имеет значение "НЕ 123456". Как я могу изменить "НЕ", чтобы вместо него трактоваться как литерал?
1 ответ
Решение
Согласно синтаксису запроса Lucene, у вас есть два варианта:
- Если вам не нужно искать зарезервированное слово во всем верхнем регистре, вы можете просто использовать строчную форму. Это будет работать, потому что зарезервированные слова срабатывают только тогда, когда все они в верхнем регистре.
- Если вам нужна заглавная форма, вам следует зарезервировать зарезервированное слово в вашем запросе с помощью "двойных кавычек", потому что зарезервированные слова срабатывают только тогда, когда они окружены пробелами.