Пропустить поля в поиске Sunspot - PullRequest
0 голосов
/ 09 февраля 2012

Я реализовал поиск solr в 2 местах для моего приложения rails (ruby 1.8.7 и rails 2.3.4). Я проиндексировал поля для поиска, и он работает правильно. Теперь я хочу добавить еще одно поле, используя которое я могу искать в 1-й строке поиска, но не во второй. Как я могу пропустить поиск по полю во 2-й. Есть ли какие-либо опции исключения, поскольку есть опции поля. Одна и та же модель используется как для поиска, так и для того же кода ниже.

Gem версия

rsolr 0.12.1

солнечное пятно (1.0.1)

search = Sunspot.search(Food) do
  keywords reference if reference.present?
  with(:vendor_id).any_of(vendor_ids) if vendor_ids.present?
  order_by :created_at, :desc
  paginate(:page => page, :per_page => per_page)
end

1 Ответ

5 голосов
/ 10 февраля 2012

Мне удалось заставить эту проблему работать, как и ожидалось, используя

keywords reference, :fields => [:user_name, :food_habits, :age] if reference.present?

и keywords reference, :fields => [:calorie_content, :user_name, :age] if vitamins.present?

...