debshots/db/migrate/20160812085722_make_fulltext_search_index_weighted.rb
Christoph Haas e2671d2545 Text search now properly weighted and ranked
Default order by 'name' removed so that ranking can actually work.
2016-08-12 16:40:12 +02:00

14 lines
602 B
Ruby

# PostregreSQL text searches are now using weights. So the index has to reflect that.
class MakeFulltextSearchIndexWeighted < ActiveRecord::Migration
def change
execute "drop index packages_fts"
execute "create index packages_fts on packages using gin((
setweight( to_tsvector('english', coalesce(\"packages\".\"name\"::text, '')), 'A' )
||
setweight( to_tsvector('english', coalesce(\"packages\".\"description\"::text, '')), 'B' )
||
setweight( to_tsvector('english', coalesce(\"packages\".\"long_description\"::text, '')), 'C' )
))"
end
end