Orientação gerada a partir de informações públicas. Apenas para referência.
O Algolia é um SDK para Dart que oferece integração perfeita com a API de pesquisa do Algolia para aplicativos Flutter e Dart. Simplifica a implementação de funcionalidades de busca poderosas ao envolver a API REST do Algolia com métodos intuitivos e seguros por tipo. Projetado para desenvolvedores que buscam capacidades de busca rápidas e escaláveis, suporta busca textual completa, faceting e resultados em tempo real em múltiplas plataformas. O SDK permite indexação e consulta eficientes, tornando-o ideal para aplicativos que exigem experiências de busca instantâneas. Com suporte a Android, iOS, macOS, Windows e Linux, garante desempenho consistente em diferentes ambientes.
Casos de uso
Pesquisa em tempo real em aplicativos móveis
Busca de produtos em comércio eletrônico
Descoberta de conteúdo em aplicativos de notícias
Filtragem e facetagem orientadas pelo usuário
Indexação e consulta de grandes conjuntos de dados
Principais recursos
Wrappers de API seguros por tipo
Compatibilidade multiplataforma
Suporte para busca facetada
Respostas de consulta em tempo real
Integração fácil com o Flutter
Indicado para
Aplicações de comércio eletrônico
Aplicativos com conteúdo pesado
Aplicativos que precisam de busca rápida
Desenvolvedores usando Dart/Flutter
Projetos que exigem busca escalável
Considerações
Requer uma conta do Algolia e chaves de API
Limitado aos serviços de backend do Algolia
Pode ser necessário configuração adicional para consultas complexas
Dependente da conectividade de rede
Limites de taxa se aplicam com base no nível de assinatura
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Hi Team,
I wanted to give you all a heads-up regarding the Dart package I created for Algolia. Going forward, I won’t be able to offer any further support or development for it. If anyone’s interested in forking it or continuing work independently, please feel free—you’re absolutely welcome to.
Right now, my priorities are focused elsewhere, particularly on projects that are part of my paid work. Unfortunately, this package doesn’t fall into that category, so I need to allocate my time accordingly.
Also, it’s worth mentioning that Algolia has since released their own official Dart package. I believe that should be a solid path forward for most use cases. In the past, they had referenced my package in their documentation and even reached out to me directly, promising a small token of appreciation (a welcome kit, as they described). I shared my details with them at the time, but I never received anything—nor was there any follow-up or continued communication.
I even suggested that they consider contributing directly to this project or possibly taking it under their official umbrella, but that conversation didn’t go anywhere. The silence from their side was disheartening, especially given how this package helped fill a gap in their Flutter ecosystem when no official support existed.
I had much more planned for it—like extended diagnostics, an Alogila UI Package (which would be highly configurable), and more flexible integrations. But with no acknowledgment, and with their preference shifting toward native Android/iOS SDKs over the Dart-based approach I took, it doesn’t seem worthwhile to push further without backing.
So, unless something changes, I’ll be stepping away from this package. If you believe there’s still potential or would like to build on it, I’m happy to see others carry it forward.
Thanks for understanding.
Algolia Search (Dart Client)
[UNOFFICIAL] Algolia is a pure dart SDK, wrapped around Algolia REST API for easy implementation for your Flutter or Dart projects.
You should ensure that you add the router as a dependency in your flutter project.
dependencies:algolia:^1.1.2
You should then run flutter packages upgrade or update your packages in IntelliJ.
Example Project
There is a pretty sweet example project in the example folder. Check it out. Otherwise, keep reading to get up and running.
Setting up
////// Initiate static Algolia once in your project.///classApplication{
staticfinalAlgolia algolia = Algolia.init(
applicationId: 'YOUR_APPLICATION_ID',
apiKey: 'YOUR_API_KEY',
);
}
voidmain() async {
////// Initiate Algolia in your project///Algolia algolia = Application.algolia;
////// Perform Query///AlgoliaQuery query = algolia.instance.index('contacts').query('john');
// Perform multiple facetFilters
query = query.facetFilter('status:published');
query = query.facetFilter('isDelete:false');
// Get Result/ObjectsAlgoliaQuerySnapshot snap = await query.getObjects();
// Checking if has [AlgoliaQuerySnapshot]print('Hits count: ${snap.nbHits}');
////// Perform Index Settings///AlgoliaIndexSettings settingsRef = algolia.instance.index('contact').settings;
// Get SettingsMap<String, dynamic> currentSettings = await settingsRef.getSettings();
// Checking if has [Map]print('\n\n');
print(currentSettings);
// Set SettingsAlgoliaSettings settingsData = settingsRef;
settingsData = settingsData.setReplicas(const ['index_copy_1', 'index_copy_2']);
AlgoliaTask setSettings = await settingsData.setSettings();
// Checking if has [AlgoliaTask]print('\n\n');
print(setSettings.data);
// Pushing EventAlgoliaEvent event = AlgoliaEvent(
eventType: AlgoliaEventType.view,
eventName: 'View contact',
index: 'contacts',
userToken: 'user123',
);
await algolia.instance.pushEvents([event]);
}
Insights
The Insights API lets you push a collection of events related to how your product is being used. Sending those events is a required step for using several Algolia features like Click analytics, A/B Testing, Personalization and Dynamic Re-Ranking.
.pushEvents(List<AlgoliaEvent> events)
Search Parameters
Here is the list of parameters you can use with the search method (search scope).
We have managed to include most commonly used parameters for search functionality
and there many more to be added in future releases.
We have indicated counts of queryable parameters with their availability status
on official Algolia website and what we have managed to support it in this
version of the release.
Here is the list of parameters you can use with the settings method (settings scope).
We have managed to include most commonly used parameters for settings functionality
and there many more to be added in future releases.
We have indicated counts of settings parameters with their availability status
on official Algolia website and what we have managed to support it in this
version of the release.