Фильтр Algolia и поиск по запросу

У меня есть приложение algolia с некоторыми объектами, которые выглядят так:

{
  "company_id": "36ec09ec-6b07-45e3-ae2d-a77bfe381baa",
  "first_name": "maryam",
  "objectID": "ffd92558-6bd3-42df-96c2-9c9124e66f6a"
}

Я пытаюсь выполнить запрос, фильтрующий результаты поиска по company_id.

Я прочитал документы Algolia, и это то, что я пытался. Сначала я добавил company_id к атрибутам для фасетирования на панели инструментов. Теперь в моем внешнем JavaScript-приложении я выполняю этот запрос:

this.index.search({
  query: 'mar',
  filters: `company_id:'36ec09ec-6b07-45e3-ae2d-a77bfe381baa'`
}).then(resp => {
  console.log(resp);
});

Однако, когда я запускаю это, он возвращает 0 совпадений.

Я также пробовал:

this.index.search({
  query: 'mar',
  facetFilters: [`company_id:36ec09ec-6b07-45e3-ae2d-a77bfe381baa`]
}).then(resp => {
  console.log(resp);
});

person Rodrigo    schedule 09.09.2017    source источник


Ответы (2)


Попробуйте так, подробнее о фильтрации https://www.algolia.com/doc/guides/searching/filtering/

this.index.search({
  query: 'mar',
  filters: 'company_id:36ec09ec-6b07-45e3-ae2d-a77bfe381baa'
}).then(resp => {
  console.log(resp);
});
person Always Sunny    schedule 09.09.2017
comment
Та же проблема с этим. - person Natim; 24.05.2018

Я тоже столкнулся с этой проблемой. Похоже, нам нужно добавить фасет к атрибуту, который мы хотим отфильтровать. В этом случае вы можете создать фасет, связанный с company_id, и убедиться, что он доступен для поиска.

person Julian Alfonso Ponce    schedule 09.02.2020
comment
Чтобы повысить качество вашего ответа, я рекомендую вам добавить четкий пример цитаты из вопроса. - person jidexl21; 09.02.2020