journalduhacker/app/indices/story_index.rb

22 lines
517 B
Ruby

ThinkingSphinx::Index.define :story, :with => :active_record do
indexes url
indexes title
indexes description
indexes user.username, :as => :author
indexes tags(:tag), :as => :tags
has created_at, :sortable => true
has hotness, is_expired
has "(cast(upvotes as integer) - cast(downvotes as integer))",
:as => :score, :type => :bigint, :sortable => true
set_property :field_weights => {
:upvotes => 15,
:title => 10,
:tags => 5,
}
where sanitize_sql(:is_expired => false)
end