module Searchable
  extend ActiveSupport::Concern

  included do
    include PgSearch
    include SearchCache

    pg_search_scope :pg_search, {
      against: :ignored, # not used since using a tsvector_column
      using: {
        tsearch: { tsvector_column: 'tsv', dictionary: "spanish", prefix: true }
      },
      ignoring: :accents,
      ranked_by: '(:tsearch)',
      order_within_rank: "#{self.table_name}.cached_votes_up DESC"
    }
  end

end