С помощью Algolia вы можете добавить функцию поиска в свое приложение FlutterFlow. Это позволит вам искать документы, присутствующие в коллекции Firestore. Узнайте, как интегрировать Algolia Search в ваше приложение, следуя этому руководству.

алг1

Пререквизиты

Прежде чем приступить к интеграции Algolia Search, убедитесь, что вы:

  • Выполнили все шаги по настройке Firebase для вашего проекта.
  • Обновили свой проект Firebase до Blaze Plan.
  • У вас есть хотя бы одна коллекция Firestore Collection, по которой вы хотите выполнять поисковые запросы.

Интеграция Алголии

Интеграция Alogolia включает в себя следующие шаги:

  1. Настройка Algolia
  2. Интеграция с Firebase
  3. Импорт существующих документов
  4. Настройка Algolia на FlutterFlow
  5. Выбор полей для поиска
  6. Использование Algolia Search

Настройка Алголии

Вам необходимо создать учетную запись Algolia для использования их поисковой службы. Выполните следующие шаги для настройки Algolia:

  1. Войдите в Algolia. Если у вас нет учетной записи, создайте бесплатную учетную запись Algolia, перейдя сюда.
  2. Для новой учетной записи заполните необходимые данные и выберите регион центра обработки данных.
  3. Попав на приборную панель Algolia, перейдите в раздел Настройки.
  4. Выберите Приложения. По умолчанию у вас уже должно быть приложение под названием «(безымянное приложение)».
  5. Нажмите на кнопку с тремя точками рядом с ней и выберите Переименовать.
  6. Введите имя приложения и нажмите кнопку Сохранить.
алг 2

Интеграция с Firebase

Вам необходимо настроить Firebase для интеграции поиска Algolia, выполните следующие шаги:

  1. Перейдите на приборную панель вашего проекта Firebase.
  2. Нажмите на Расширения.
  3. Нажмите Установить в разделе Поиск с Algolia.
  4. В Шаге 1 (Обзор биллинга и использования) будет показана некоторая информация, связанная с биллингом, нажмите Далее.
  5. В Шаге 2 (Обзор включенных API и созданных ресурсов) это расширение автоматически создает облачную функцию для взаимодействия с Algolia, нажмите Далее.
  6. В Шаге 3 (Настроить расширение) вам нужно заполнить некоторую информацию, связанную с Algolia:
    1. Введите путь коллекции, который на самом деле является именем коллекции, которую вы хотите сделать доступной для поиска с помощью Algolia.
    2. Индексируемые поля можно пропустить.
    3. Для имени индекса Algolia перейдите на приборную панель Algolia и создайте новый индекс. Введите то же имя в это поле.
    4. Для Algolia Application Id, вы можете перейти на страницу приборной панели Algolia и проверить ее URL, https://www.algolia.com/apps/<applicationid>. Скопируйте application_id и введите в поле.
    5. Для Algolia API Key, на приборной панели Algolia перейдите в Settings > API Keys > All API Keys и нажмите New API Key. В разделе Индексы выберите индекс, который вы создали ранее. В поле ACL включите следующие параметры: addObject, deleteObject, listIndexes, deleteIndex, editSettings & settings. Нажмите кнопку Создать. Скопируйте сгенерированный API Key и введите его в соответствующее поле.
    6. Выберите местоположение Cloud Functions.
    7. Нажмите кнопку Установить расширение.

Подождите, пока расширение установится, прежде чем переходить к следующему этапу.

алг 3

Импорт существующих документов

Как только вы установили расширение Algolia на Firebase, оно начинает следить за Коллекцией и автоматически добавляет документы, которые создаются или обновляются в Коллекции Firestore, в Algolia Index.

Но документы, которые присутствовали в коллекции Firestore до установки расширения, не будут добавлены в Algolia Index автоматически.

Вы найдете конкретные инструкции по импорту документов в Algolia, перейдя в раздел Расширения > Управление (в разделе Поиск с Algolia) > страница «Как работает это расширение». Для простоты ниже перечислены шаги.

Для использования скрипта импорта вам понадобится учетная запись службы Firebase, выполните следующие действия:

  1. Перейдите на приборную панель вашего проекта Firebase.
  2. Нажмите Настройки (значок шестеренки в левом меню) и выберите Настройки проекта.
  3. Перейдите на вкладку Учетные записи служб.
  4. В разделе Firebase Admin SDK нажмите Генерировать новый закрытый ключ.
  5. В открывшемся диалоговом окне нажмите Генерировать ключ.

Это позволит загрузить закрытый ключ учетной записи службы в вашу систему, хранить его в безопасном месте и нигде не передавать этот ключ.

алг 4

Выполните следующие шаги, чтобы импортировать существующие документы в Algolia:

  1. Чтобы запустить скрипт, в вашей системе должен быть установлен npx. Если он у вас не установлен, установите Node.js (npx поставляется вместе с ним).
  2. На приборной панели Firebase перейдите в раздел Расширения > Управление (в разделе Поиск с Algolia) > страница Как работает это расширение. Скопируйте скрипт импорта и запустите его в своей системе, команда будет выглядеть следующим образом:
LOCATION=us-central1\
PROJECT_ID=<firebase_project_id>\
ALGOLIA_APP_ID=<algolia_application_id>\
ALGOLIA_API_KEY=<algolia_api_key>\
ALGOLIA_INDEX_NAME=<algolia_index_name>\
COLLECTION_PATH=<firebase_collection_name>\
GOOGLE_APPLICATION_CREDENTIALS=</path/to/service/account/key>\
npx firestore-algolia-search

Не используйте приведенный выше скрипт напрямую, вам необходимо заменить все угловые скобки на соответствующие значения этих полей.

Рекомендуется просто скопировать скрипт со страницы, указанной выше (он будет содержать все значения, специфичные для вашей Коллекции), удалить параметры FIELDS и TRANSFORM_FUNCTION, если он содержит { неуказанный параметр }, ввести правильный путь к учетным данным и запустить его.

После выполнения этой команды, если вы перейдете на страницу Algolia Search Index, вы найдете там все существующие документы Firebase импортированными.

алг 5

Конфигурация Algolia на FlutterFlow

Чтобы использовать Algolia Search в своих приложениях, необходимо настроить Algolia на FlutterFlow. Выполните следующие шаги:

  1. Перейдите на приборную панель FlutterFlow.
  2. Нажмите Настройки и интеграции (значок шестеренки) в навигационном меню (левое меню).
  3. Выберите Интеграции > Algolia.
  4. На странице Algolia Configuration сначала необходимо ввести ID приложения. Вы найдете его на странице приборной панели Algolia, скопируйте ID приложения из URL: https://www.algolia.com/apps/<applicationid>.
  5. Вы получите ключ API Search, перейдя в раздел Algolia Settings > API Keys. Скопируйте ключ API Search-Only и вставьте его в соответствующее поле FlutterFlow.
  6. В разделе Индексируемые коллекции выберите коллекции, которые будут индексироваться Algolia Search.
алг 6

Выберите поля с возможностью поиска

Если вы не хотите, чтобы все поля какой-либо Коллекции использовались для поиска документа, вы можете выбрать поля, которые будут индексироваться Algolia.

Выполните следующие действия:

  1. На приборной панели Algolia выберите Поиск (присутствует в левом меню).
  2. Выберите Index в разделе Configure и перейдите на вкладку Configuration.
  3. Нажмите кнопку + Добавить атрибут для поиска.
  4. Введите имя поля, которое вы хотите, чтобы Algolia использовала при поиске.
  5. Повторите шаги 3 и 4, если вы хотите добавить больше полей.
  6. Нажмите Обзор и сохранение настроек, а затем Сохранить настройки в открывшемся диалоговом окне.

Теперь Algolia будет использовать только те поля, которые вы указали здесь, при поиске любого термина в вашем приложении.

алг 7

Использование поиска Algolia

Существует два способа использования Algolia Search в вашем приложении:

  • Добавить действие для запуска Algolia Search путем передачи поискового запроса, основанного на жесте пользователя.
  • Добавить вызов API в качестве внутреннего запроса, который автоматически запускается при переходе пользователя на страницу.

Шаги по запуску Algolia Search с помощью одного из этих двух методов вы найдете на следующих страницах:

  • Действие для запуска Algolia Search
  • Запрос бэкенда для запуска Algolia Search