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:
-
Открыть расширения Firebase: Перейдите на страницу расширения Search Firestore with Algolia, затем нажмите Install in Firebase Console. Выберите ваш проект, чтобы продолжить установку.
-
Обновить ID экземпляра расширения (Опционально): ID экземпляра расширения уникально идентифицирует каждый установленный экземпляр расширения в вашем проекте Firebase. Этот ID используется для управления экземпляром расширения, включая его обновление или удаление.
-
Проверить биллинг и использование: Появится сводка деталей биллинга. После проверки нажмите Next.
-
Проверить включенные API и созданные ресурсы: Это расширение автоматически создает некоторые ресурсы, такие как Cloud Functions и API для взаимодействия с Algolia. Проверьте перечисленные ресурсы, затем нажмите Next.
-
Проверить предоставленный доступ этому расширению: Вы увидите список конкретных сервисов и ресурсов, к которым расширению нужен доступ. Проверьте разрешения, затем нажмите Next.
-
Настроить расширение: Во время установки вас попросят указать следующие данные.
-
Путь к коллекции: Укажите имя коллекции 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.
-
-
Установить: Нажмите 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
Чтобы настроить действие 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.