Как исключить записи в поиске? - PullRequest
0 голосов
/ 22 октября 2018

Мне нужно исключить записи из поиска, если в нем менее 3 тегов.Прямо сейчас моя функция search_data выглядит следующим образом:

def search_data
  {
    ...
    tag_ids: tags.map(&:id)
  }
end

Могу ли я сделать это?

def search_data
  return nil if tags.count < 3
  {
    ...
    tag_ids: tags.map(&:id)
  }
end

Или я могу добавить какое-то условие при выполнении lookup (), чтобы он выполнял только поискзаписи, которые имеют массив tag_ids с 3 или более идентификаторами?(Кроме добавления поля tag_count и переиндексации всего?)

Спасибо!

1 Ответ

0 голосов
/ 22 октября 2018

Searchkick предоставляет возможность определить метод should_index?, который делает именно то, что вы ищете.Проверьте это здесь !

...