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

Algolia

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

Предварительные требования
  • Интеграция Algolia в FlutterFlow связана исключительно с коллекциями Firestore. Это означает, что вам необходимо настроить Firebase, чтобы синхронизировать данные из Firestore в Algolia для поиска.
  • Обновите ваш проект Firebase до плана Blaze Plan, чтобы расширение Algolia Firebase работало.
  • У вас должна быть как минимум одна коллекция Firestore, на которой вы планируете выполнять запросы поиска.

Интеграция Algolia

Следуйте шагам ниже, чтобы интегрировать Algolia в ваши приложения FlutterFlow:

Настройка Algolia

Настройка Algolia включает создание приложения, определение индекса и генерацию API-ключа с необходимыми разрешениями. Вот подробные шаги:

Шаг 1: Создание приложения Algolia

Войдите в Algolia. Если у вас нет аккаунта, зарегистрируйтесь бесплатно здесь. Во время регистрации заполните необходимые данные и выберите регион центра обработки данных. После регистрации вы увидите экран импорта данных, но его можно пропустить (см. кнопку в правом верхнем углу).

Далее назовите ваше приложение, перейдя в раздел Settings > Applications в панели управления Algolia. По умолчанию вы увидите приложение под названием "(unnamed application)". Нажмите на кнопку с тремя точками рядом с ним, выберите Rename, введите имя для вашего приложения и нажмите Save.

Шаг 2: Создание индекса

Индекс в Algolia — это как таблица базы данных, где хранятся ваши данные для поиска. Чтобы создать индекс, перейдите в раздел Search в левом меню, затем выберите Index. Нажмите Create Index и укажите точное имя, соответствующее коллекции Firestore, на которой вы планируете выполнять запросы поиска.

Шаг 3: Генерация API-ключа

Для интеграции Algolia вам нужен API-ключ с правильными разрешениями. В панели управления Algolia перейдите в Settings > API Keys > All API Keys, затем нажмите New API Key. В разделе Indices выберите индекс, созданный на предыдущем шаге. В поле ACL (Access Control List) укажите следующие разрешения: addObject, deleteObject, listIndexes, deleteIndex, editSettings и settings. Нажмите Create, скопируйте сгенерированный API-ключ и сохраните его — он понадобится дальше для настройки расширения Algolia Firebase.

Синхронизация данных Firebase

Чтобы синхронизировать данные из Firebase в Algolia, установите расширение Algolia Firebase. Оно позволяет бесшовно подключить Cloud Firestore к Algolia, обеспечивая мгновенное отражение любых обновлений, добавлений или удалений в Firestore в вашем поисковом индексе.

Следуйте этим шагам, чтобы настроить официальное расширение Firebase для поиска Algolia:

  1. Открыть расширения Firebase: Перейдите на страницу расширения Search Firestore with Algolia, затем нажмите Install in Firebase Console. Выберите ваш проект, чтобы продолжить установку.

  2. Обновить ID экземпляра расширения (Опционально): ID экземпляра расширения уникально идентифицирует каждый установленный экземпляр расширения в вашем проекте Firebase. Этот ID используется для управления экземпляром расширения, включая его обновление или удаление.

  3. Проверить биллинг и использование: Появится сводка деталей биллинга. После проверки нажмите Next.

  4. Проверить включенные API и созданные ресурсы: Это расширение автоматически создает некоторые ресурсы, такие как Cloud Functions и API для взаимодействия с Algolia. Проверьте перечисленные ресурсы, затем нажмите Next.

  5. Проверить предоставленный доступ этому расширению: Вы увидите список конкретных сервисов и ресурсов, к которым расширению нужен доступ. Проверьте разрешения, затем нажмите Next.

  6. Настроить расширение: Во время установки вас попросят указать следующие данные.

    • Путь к коллекции: Укажите имя коллекции Firestore, которую вы хотите индексировать для поиска.

    • Индексируемые поля (Опционально): Можно оставить пустым, чтобы индексировать все поля, или вручную перечислить поля, которые нужно индексировать.

    • Принудительная синхронизация данных (Опционально): Включите это, чтобы расширение выполняло дополнительную операцию чтения из Firestore перед обработкой и отправкой данных в Algolia. Это гарантирует индексацию самых свежих и точных данных.

    • Имя индекса Algolia: Имя индекса, созданного (на шаге 2) в настройке Algolia.

    • ID приложения Algolia: Перейдите на страницу панели управления Algolia и проверьте URL, https://www.algolia.com/apps/<applicationid>. Скопируйте application_id и введите в поле.

    • API-ключ Algolia: Вставьте API-ключ, созданный (на шаге 3) во время настройки Algolia, и нажмите кнопку Create Secret.

    • Полная индексация существующих документов: Установите Yes, чтобы импортировать существующие данные из коллекции Firestore в индекс Algolia.

    • Расположение Cloud Functions: Выберите регион для развертывания Cloud Function.

  7. Установить: Нажмите Install extension, чтобы завершить. Подождите несколько мгновений, пока расширение полностью установится, прежде чем переходить к следующим шагам.

Выбор полей для поиска

Чтобы ограничить поля, используемые для поиска в Algolia, укажите, какие атрибуты должны индексироваться. В панели управления Algolia перейдите в Search > Index > Configuration и нажмите + Add a Searchable Attribute. Введите имя поля, которое Algolia должна использовать, и повторите этот шаг для дополнительных полей.

После завершения нажмите Review and Save Settings, затем подтвердите, нажав Save Settings в диалоге. Теперь Algolia будет искать только в указанных полях в вашем приложении.

Настройка в FlutterFlow

Чтобы интегрировать поиск Algolia в ваше приложение FlutterFlow, перейдите в Settings and Integrations > Algolia и включите его. Введите Application ID, который можно найти в URL панели управления Algolia (https://www.algolia.com/apps/<applicationid>). Далее скопируйте Search API Key из Algolia Settings > API Keys и вставьте в FlutterFlow. Наконец, в разделе Indexed Collections выберите коллекции Firestore, которые вы хотите сделать доступными для поиска.

Вот как это сделать точно:

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

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

  • Действие Algolia Search: Этот метод полезен, когда пользователь вводит термин поиска в TextField, а затем взаимодействует с виджетом, например, нажимает кнопку, чтобы запустить поиск.
  • Backend Query: Этот подход автоматически выполняет поиск или обновляет результаты поиска по мере ввода пользователем в TextField. Он использует свойство Update Page On Text Change для динамического обновления результатов.

Чтобы настроить действие Algolia Search в FlutterFlow, сначала выберите виджет, который запустит поиск, например, IconButton. В Properties Panel перейдите на вкладку Actions и нажмите + Add Action, выберите подходящий жест, например On Tap. Найдите и выберите действие Algolia Search.

Далее настройте параметры поиска: для Firebase Collection выберите коллекцию Firestore, которую планируете искать; для Search Term выберите From Variable и укажите значение TextField (например, Widget State > [Your TextField]); укажите опциональный Max Results, чтобы определить количество результатов поиска.

Вот пример, как добавить действие Algolia Search:

Часто задаваемые вопросы

Работает ли Algolia с другими источниками данных, такими как Supabase?

По умолчанию встроенная интеграция Algolia в FlutterFlow поддерживает только Firestore в качестве источника данных. Если вам нужно использовать Algolia с другой базой данных — например, Supabase — вам придется управлять этой интеграцией через custom code. Однако из коробки FlutterFlow в настоящее время не предлагает поиск Algolia для баз данных помимо Firestore.