プロジェクトでは、異なるロケールに格納されている1つのフィールドでレコードを並べ替える必要がありました。私が持っているもの:テーブル "companies"、 "name"という名前のフィールドはありませんが、テーブルはあります:
create_table "company_localizations" do |t|
t.integer "company_id"
t.string "locale"
t.string "name"
...
end
私はインデックスcompany.rbを持っています:
mapping do
indexes :name, :type => "multi_field",
:fields => {
:name => {:type => "string", :index => "analyzed"},
:name_sort => {:type => "string", :index => "not_analyzed"}
}
end
このフィールドでソートする必要があります。ElasticSearchとTiregemを使用しています。