Sunspot - solr - Как сделать точный матч

articles = Article.search do |s|
    s.fulltext "Java Script"
end

Как сказать солнечному пятну, как дать мне все результаты, которые точно соответствуют "Java Script" Прямо сейчас я получаю результаты, такие как "Java, Unix Scripting" (Я думаю, что его край n грамм, который я использую для создания, принимает этот сценарий)

Я нашел пару вопросов в переполнении стека. к сожалению, ни одно тело не ответило так, как я хочу. Поэтому я размещаю этот вопрос здесь. Я прошу модераторов не отмечать его как дубликат

Ответ 1

Вот что вы можете добавить к контроллеру, чтобы "Quoted Values" вернули точное соответствие.

  @search = Program.search do
     fulltext params[:search].gsub( '"', '"\\' ) unless params[:search].blank? 
     //...
  end

Если у вас есть такой текст, который выполняется поиск...

the fox jumped over the tree
  • Поиск fox over возвращает 1 строку.

  • Однако поиск "лисицы над" (в кавычках) будет возвращать 0 строк.

  • Поиск "fox jumped" (также в кавычках) возвращает 1 строку. Это точное совпадение.