2016-05-10 4 views
6

данных на algolia подобно этомупоиска Algolia с атрибутом имя

objectID:3464542 
Type:"Accelerator" 
Country:"Germany" 
City:null 
Name:"ProsiebenSat1 Accelerator Batch #8" 

Я хочу, чтобы искать любое имя, которое в Германии. Как я это делаю?

Когда я делаю Contact.raw_search("Batch"), я получаю все записи, чье имя включает этот даже негерманский. Я хочу получить все те, которые имеют конкретную страну.

+0

У вас нет ответа? –

ответ

7

Для этого сначала необходимо поместить атрибут Country в список attributesForFaceting. Вы можете сделать это с помощью REST API, вашего клиента по выбору или с панели инструментов Algolia. Используя более позднюю версию, перейдите на страницу Indices, выберите свой индекс и перейдите на вкладку Display. Здесь вы можете добавить поле Country в список Attributes for faceting. После этого нажмите «Сохранить», и ваш индекс будет восстановлен.

Теперь ваш индекс готов отфильтровать поисковые запросы в зависимости от страны, в которой вы хотите. Для выполнения поискового запроса, можно использовать (с помощью клиента Ruby):

Contact.search("Batch", { 
    facets: ["Country"], 
    facetFilters: ["Country:Germany"] 
}) 

Для получения дополнительной информации о огранкой, вот быстрый интро из FAQ и более подробное руководство в documentation.

Смежные вопросы