ディレクトリを表示するために、さまざまなモデルの多くのアイテムを取得するために検索を行っています。これらはすべて、このような特定の文字で始まります。
@everything = ThinkingSphinx.search(
"@name ^?",
@letter,
:match_mode => :extended,
:classes => [Performer, Promoter, Tour, Venue, User],
:order => :name_sort,
:sort_mode => :asc
)
ただし、アイテムはアルファベット順にソートされていません。ascをdescに変更すると、順序は変わりますが、まだ識別可能なパターンではありません。
インデックスはこのように設定されています
performer.rb
define_index do
indexes name, :sortable => true
indexes description
has created_at, updated_at
end
promoter.rb
define_index do
indexes name, :sortable => true
indexes description
has created_at, updated_at
end
tour.rb
define_index do
indexes name, :sortable => true
indexes description
has created_at, updated_at
end
venue.rb
define_index do
indexes name, :sortable => true
indexes description
has created_at, updated_at
end
user.rb
define_index do
indexes first_name, :sortable => true
indexes last_name, :as => :name, :sortable => true
indexes bio
has role, created_at, updated_at
end
ご覧のとおり、ユーザーインデックスエイリアスlast_nameは名前ですが、これが唯一の奇妙な点です。
私は思考スフィンクス2.0.12を使用しています