Перейти к основному содержимому

Algolia

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

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

Убедитесь, что вы:

  • Завершили Настройку Firebase для вашего проекта.
  • Обновили свой проект Firebase до Тарифного плана Blaze.
  • У вас есть хотя бы одна Коллекция Firestore, по которой вы хотите выполнять поисковые запросы.

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

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

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

1. Настройка Algolia

Вам необходимо создать учетную запись 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 снова перейдите на страницу панели управления Algolia, проверьте его URL, https://www.algolia.com/apps/<идентификаторприложения>. Скопируйте идентификаторприложения и введите его в поле.
    5. Для Ключа API Algolia, с панели управления Algolia перейдите в Настройки > Ключи API > Все ключи API и нажмите Новый ключ API. В разделе Индексы выберите ранее созданный индекс. В поле ACL включите следующие пункты: addObject, deleteObject, listIndexes, deleteIndex, editSettings, settings. Кликните Создать. Скопируйте созданный ключ API и введите его в соответствующее поле.
    6. Выберите Местоположение облака функций.
    7. Нажмите Установить расширение.

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

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

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

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

к сведению

Инструкции по импорту ваших документов в Algolia можно найти на странице Дополнения > Управление (в разделе Поиск с Algolia) > Как работает это расширение. Чтобы упростить, ниже приведены шаги.

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

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

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

Следуйте приведенным ниже шагам для импорта ваших существующих документов в Algolia:

  1. Для запуска скрипта вам нужно установить npx на вашей системе. Если его нет, установите Node.js (npx поставляется вместе с ним).
  2. В панели Firebase перейдите на страницу Дополнения > Управление (в разделе Поиск с Algolia) > Как работает это расширение. Скопируйте скрипт импорта и запустите его на вашей системе, команда будет выглядеть так:
  LOCATION=us-central1\
PROJECT_ID=<идентификатор_проекта_firebase>\
ALGOLIA_APP_ID=<идентификатор_приложения_algolia>\
ALGOLIA_API_KEY=<ключ_api_algolia>\
ALGOLIA_INDEX_NAME=<имя_индекса_algolia>\
COLLECTION_PATH=<Имя_коллекции_firebase>\
GOOGLE_APPLICATION_CREDENTIALS=</путь/к/ключу_сервисного_аккаунта>\
npx firestore-algolia-search
warning

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

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

После запуска этой команды, перейдя на страницу индекса поиска Algolia, вы обнаружите, что все ваши существующие документы Firebase импортированы туда.

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

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

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

5. Выбор индексируемых полей

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

Следуйте приведенным ниже шагам:

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

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