Поиск Алголии, где поле в индексе равно строке

Я использую Algolia в приложении Rails для поиска:

index = Algolia::Index.new("Search_production")
results = index.search('heroku')

У меня есть атрибут в этом индексе, называемый type, это строка.

Я хочу искать только записи с type service.

Могу ли я применить фильтр к поиску Ruby Algolia? Что-то вроде?

results = index.search(query, { facets: '*', facetFilter: ['type:Service' ]})

person Sergio Tapia    schedule 10.03.2016    source источник


Ответы (1)


Да, использование фасетирования и facetFilters - это способ реализовать то, что вы описываете, также известное как «фасеточный поиск»! Не забудьте настроить параметр attributesForFaceting в настройках индекса.

PS: здесь вам не нужен facets: '*', он не используется для фильтрации, а просто для получения значений фасета.

person redox    schedule 11.03.2016