1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
class Person < ActiveRecord::Base
belongs_to :team, :polymorphic => :true
has_many :contacts
has_many :friendships
has_many :friends, :through => :friendships
has_many :tags
has_many :football_teams, :through => :tags
define_index do
indexes [first_name, middle_initial, last_name], :as => :name
indexes team.name, :as => :team_name
indexes contacts.phone_number, :as => :phone_numbers
indexes city, :prefixes => true
indexes state, :infixes => true
has [first_name, middle_initial, last_name], :as => :name_sort
has team.name, :as => :team_name_sort
has [:id, :team_id], :as => :ids
has team(:id), :as => :team_id
has contacts.phone_number, :as => :phone_number_sort
has contacts(:id), :as => :contact_ids
has birthday
has friendships.person_id, :as => :friendly_ids
set_property :delta => true
end
end
class Parent < Person
end
class Child < Person
belongs_to :parent
define_index do
indexes [parent.first_name, parent.middle_initial, parent.last_name], :as => :parent_name
end
end
class Contact < ActiveRecord::Base
belongs_to :person
end
class Tag < ActiveRecord::Base
belongs_to :person
belongs_to :football_team
belongs_to :cricket_team
end
class FootballTeam < ActiveRecord::Base
has_many :tags
end
class CricketTeam < ActiveRecord::Base
define_index do
indexes :name
has "SELECT cricket_team_id, id FROM tags", :source => :query, :as => :tags
end
end
class Friendship < ActiveRecord::Base
belongs_to :person
belongs_to :friend, :class_name => "Person", :foreign_key => :friend_id
define_index do
has person_id, friend_id
end
end
class Alpha < ActiveRecord::Base
define_index do
indexes :name, :sortable => true
set_property :field_weights => {"name" => 10}
end
end
class Beta < ActiveRecord::Base
define_index do
indexes :name, :sortable => true
set_property :delta => true
end
end
class Search < ActiveRecord::Base
#
end
|