Рельсы pg_search упорядочены по большинству хитов - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть программа, которая содержит страницы и теги, и я хочу добавить функцию related pages.

Правило бы, что страницы будут ранжироваться по количеству тегов, которыми они делятся.

Итак:

[
  { page: 'one', tags: ['a','b','c'] },
  { page: 'two', tags: ['a','b','c'] },
  { page: 'three', tags: ['a','b'] },
  { page: 'four', tags: ['a'] },
  { page: 'five', tags: ['z','w','y'] }
]

Порядок страниц, связанных со страницей one, будет ['two', 'three', 'four'].

Я создал pg_search_scope следующим образом

class Tag
  has_many :pages
end

class Page
  has_many :tags
  pg_search_scope :search_tags,
    associated_against: { tags: :value },
    using: {
      tsearch: { any_word: true }
    }
end

Итак, мой вопрос: как я могу заказать результаты search_tags?

...