Вариант использования таков:
Я хотел бы, чтобы мой пользователь выполнял поиск из одного текстового поля, а затем на странице результатов поиска упорядочивал результаты по классам.
Так, например, скажем, у меня есть следующие модели, настроенные для Thinking Sphinx: Post
, Comment
и User
. (В моей ситуации у меня около 10 моделей, но для ясности в StackOverflow я притворяюсь, что их всего 3)
Когда я выполняю поиск, похожий на: ThinkingSphinx.search 'search term', :classes => [Post, Comment, User]
, я не уверен, что это лучший способ просмотреть результаты и построить разделы моей страницы.
Моя первая склонность - сделать что-то вроде:
- Выполнить поиск
- Перебрать возвращенный набор результатов и выполнить результат.is_a?(ClassType)
- На основе ClassType добавьте элемент в 1 из 3 массивов --
@match_posts
,@matching_comments
или@matching_users
. - Передайте эти 3 переменные экземпляра на мой взгляд
Есть ли лучший или более эффективный способ сделать это? Спасибо!