sunspot - solr - Как сделать Точное совпадение

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

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

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


person Krishna Prasad Varma    schedule 17.08.2012    source источник


Ответы (1)


Вот что вы можете добавить в свой контроллер, чтобы «Цитаты в кавычках» возвращали точное совпадение.

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

Если бы у вас был такой текст, который ищется...

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

  • Однако поиск "fox over" (в кавычках) вернет 0 строк.

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

person dsmithco    schedule 06.08.2013
comment
Спасибо за ваш ХАК!! Но, пожалуйста, скажите мне, что в консоли рельсов не работает должным образом. Поправьте меня, если я делаю какую-либо ошибку - person Gupta; 18.06.2016