Я использую поиск Sunspot Solr, который в большинстве случаев отлично работает для базового поиска.Предполагается, что он может обрабатывать кавычки вокруг фраз, поэтому при поиске test case
будут возвращаться документы как с test, так и case, тогда как при поиске "test case"
должны возвращаться документы с тестовым выражением фразы.
Тем не менее, я потянулся за это, потому что кажется, что Rails удаляет любые внешние кавычки из пользовательских вводов, прежде чем они попадут в поисковую систему.Таким образом, "test case"
возвращает те же самые результаты, что и test case
, но ""test case""
или "test case"
(с начальными и конечными пробелами) фактически работают, в первом случае, потому что внешние кавычки удаляются, оставляя внутренние, и ввторой случай, потому что эта проблема затрагивает только начальные и конечные кавычки.
Очевидно, это известная ошибка, и был помечен как не исправляющий командой Rails.Я действительно удивлен, как мало я могу найти в этом онлайн, так как это кажется очень распространенной функциональностью.
Как люди обходят это?Для меня это не кажется разумным решением - попросить пользователей сделать двойные кавычки из-за этого, и я не особо хочу делать свои собственные модификации в Rack.