Solr избегает двойных кавычек / точное совпадение (Django via Scorched/Sunburnt)
Я запрашиваю экземпляр Solr 5.3 с Django через Scorched. Все это прекрасно работает, поскольку я не задаю запрос с точным соответствием. Другими словами,
q=something something else
возвращает точно такой же результат, как:
q="something something else"
Насколько я понимаю, виновником является фактический запрос, который Django бросает в Solr. Фактически, для второго случая это:
q=\"something\+something\+else\"
Итак, другими словами, символ "экранирован". Я прав? Как мне сказать Solr, что когда я запрашиваю что-то между двойными кавычками, я хочу точное совпадение?
На веб-странице администратора Solr все это работает хорошо, то есть, если я ищу "что-то еще", я получаю правильный результат.
Я не уверен, что это проблема Scorched/Sunburnt или нет. Это как-то связано с фильтрами / токенизаторами (например, solr.MappingCharFilterFactory)?
Спасибо
1 ответ
Я получил это от людей Scorched на Github:
from scorched.strings import DismaxString ... solr.query(q=DismaxString('"something something else"')
Scorched не будет экранировать символы внутри DismaxString....
Надеюсь, это может помочь другим людям.