Я использую Sunspot / Solr для индексации моего сайта Rails.Я индексирую название города, выполняя следующие действия:
class City < ActiveRecord::Base
searchable do
text :name
...
end
...
Теперь я интернационализирую весь сайт, используя гем Globalize3.Он сохраняет переводы в другой таблице и выводит эти переводы, используя обычные методы доступа.
Из приведенного здесь примера (http://osdir.com/ml/rails-oceania/2011-11/msg00047.html) они имеют:
searchable do
# sorting
string(:job_title) { title }
# keyword / fulltext searching
I18n.available_locales.each do |locale|
text(("title_" + locale.to_s).to_sym, :default_boost => 2)
{ eval("title_" + locale.to_s) }
end
end
Таким образом, по существу для каждогоВ Sunspot есть индексный столбец, такой как title_en и title_fr. Мне интересно, есть ли лучший подход? (слишком много столбцов звучит для меня плохо)
Одна альтернатива, которую я думаю, - объединить переводы одногоэлемент в виде одной строки и поместите его в другой столбец текстового индекса.
Также я подумал, если есть что-то похожее на integer :ids, :multiple => true
для текстов?
Так, как лучше индексировать несколькопереводы с таким же названием предмета?