2012-05-19 2 views
0

Как я могу реализовать «содержит функцию» в активных записях? Я пытаюсь запросить мою базу данных, которая содержит следующие данные в качестве примераАктивная запись содержит запрос

бренда: Ipad модели: Ipad 3Gen функции: WiFi + 3G 32 GB черного

, когда пользователь искал «Ipad черного 3Gen «он должен получить вышеупомянутую запись.

это мой след, который не работал

@products = Product.where("brand like ? OR generation like ? OR spec_overview like ? ", "%"+params[:query].capitalize+"%", "%"+params[:query].capitalize+"%", "%"+params[:query].capitalize+"%") 

ответ

1

Sql не отлично подходит для этого типа запроса. Вы можете сделать это с полнотекстовым индексом, вероятно, но использование чего-то вроде Solr было бы гораздо менее болезненным и точным. Вы можете интегрировать Solr в приложение Rails с sunspot, если вы решите пойти в этом направлении.

+1

Спасибо. Я уверен, что для этого есть решение sql, поскольку это общий шаблон проектирования. – aaalsubaie

Смежные вопросы