Индексировать список целых чисел, используя Solr (Sunspot) - PullRequest
3 голосов
/ 01 июля 2011

Есть ли способ индексирования списка целых чисел с помощью Sunspot и Rails?

Пример

Я хочу иметь возможность поиска идентификатора актера.
Приведенный ниже код является просто псевдокодом.

class Movie < ActiveRecord::Base
  searchable do
    integers :actors_lists do
      actors.map(&:id)
    end
  end
end

I не нужна возможность поиска имени актера, я просто для того, чтобы иметь возможностьпоиск идентификаторов актеров.

Я использую Rails 3.1 RC с Sunspot 1.2.1 и Ruby 1.9.2.

Ответы [ 2 ]

3 голосов
/ 06 июля 2011

Вот мое решение.

integer :actors_lists, multiple: true do
  actors.map(&:id)
end

Добавление части multiple: true решило проблему.

Примечание. Если вы используете Ruby 1.8.7, не забудьте изменить multiple: true на :multiple => true.

0 голосов
/ 21 сентября 2011

Если фильм имеет_and_belongs_to_many: актеры, то

integer :actor_ids, multiple => true

должно работать. Параметр поиска назван не так, как вы хотели, но это случай «Соглашение о конфигурации», и здесь вы можете использовать

:references => ::Actor

Просто подумал, что я должен упомянуть все варианты.

...