Ruby on Rails: Как люди создают формы поиска на сайтах с нарушенным синтаксическим анализом текстового поля, удаляющим кавычки?

Я использую поиск Sunspot Solr, который в большинстве случаев отлично работает для базового поиска. Предполагается, что он может обрабатывать кавычки вокруг фраз, поэтому поиск тестового примера будет возвращать документы с тестом и случаем, тогда как поиск «тестовый пример» должен возвращать документы с фразой test case.

Однако я ' Я рвал на себе волосы из-за этого, потому что кажется, что Rails удаляет все внешние кавычки из пользовательского ввода еще до того, как он попадет в поисковую систему. Таким образом, "тестовый пример" возвращает те же результаты, что и тестовый пример , но "" тестовый пример "" или "тестовый пример" ( с начальными и конечными пробелами) действительно работает, в первом случае, потому что внешние кавычки удаляются, оставляя внутренние, а во втором случае потому, что эта проблема затрагивает только начальные и конечные кавычки.

По-видимому, это ошибка известная ошибка, а отмечена командой Rails как не исправляемая . Я действительно удивлен, как мало я могу найти об этом в Интернете, так как это кажется очень распространенной функциональностью.

Как люди это решают? Мне не кажется разумным решением попросить пользователей использовать двойные кавычки из-за этого, и я не особо хочу вносить свои собственные изменения в Rack.

1
задан William Jones 13 September 2010 в 21:37
поделиться