Поиск лучшего способа поиска во многих Моделях с помощью одного запроса, отправленного пользователем.
Индексация основных Моделей по его отношениям.В настоящее время поиск работает по каждой модели, но ничто не является «общим» или «разделенным».
def self.search_kick(query, searchkick_options={})
options = {
fields: %w[name^5 specialities.name^5 description^2 business_sectors.name employees.firstname employees.lastname race.name race.fullname animals.name premium ratings_count],
boost_by: {ratings_count: {boost_mode: "multiply"}},
boost_where: {premium: [{value: 1, factor: 0.1}, {value: 2, factor: 2000}]}
}
search(query, options.merge(searchkick_options))
end
Я ищу поиск по многим моделям с одним запросом.На самом деле, у меня есть эта структура данных: - Основная модель: LocalBusiness - LocalBusiness есть много: Животные - LocalBusiness есть много: Секторы - LocalBusiness принадлежит: Адрес
Я ищу, чтобы иметь возможность искать что-то вроде: "ВетеринарияDogs Seattle "
На самом деле, если у меня есть LocalBusiness, связанный с собаками и расположенный в Сиэтле, этот запрос не будет работать, если только я не добавлю в его собственное описание" dogs "и" seattle ".Если я ищу только «Ветеринария», «Собаки», «Сиэтл», я нахожу это каждый раз, но не когда запускаю запрос индивидуально.
Я работаю с Searchkick на Ruby on Rails.