Orientação gerada a partir de informações públicas. Apenas para referência.
Meilisearch Dart é um cliente de API leve para aplicativos Dart e Flutter, permitindo integração perfeita com o Meilisearch, um mecanismo de busca rápido, relevante e personalizável. Ele permite que desenvolvedores realizem pesquisas em tempo real, gerenciem índices e manipulem atualizações de documentos diretamente a partir de seus aplicativos. O cliente suporta todas as principais plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux, tornando-o ideal para funcionalidades de busca multiplataforma. Com métodos intuitivos e configuração mínima, simplifica a adição de recursos avançados de busca a qualquer projeto Flutter.
Casos de uso
Pesquisa em tempo real em aplicativos móveis
Gerenciamento de índice no Flutter
Busca de texto completo em múltiplas plataformas
Sugestões de pesquisa e autocomplete
Indexação e atualizações de documentos
Implementação de pesquisa multiplataforma
Principais recursos
API simples para operações de pesquisa
Suporta todas as principais plataformas
Resultados de pesquisa em tempo real
Manipulação fácil de índice e documento
Leve e rápido
Tratamento de erro embutido
Indicado para
Desenvolvedores Flutter que precisam de recursos de pesquisa
Aplicativos que exigem busca de texto completo rápida
Projetos direcionados para múltiplas plataformas
Equipes usando backend Meilisearch
Desenvolvedores que desejam busca de baixa latência
Considerações
Requer um servidor Meilisearch em execução
Necessita de gerenciamento adequado da chave da API
Limitado ao backend Meilisearch
Dependência de rede para consultas de pesquisa
Não adequado para pesquisa somente offline
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
This readme contains all the documentation you need to start using this Meilisearch SDK.
For general information on how to use Meilisearch—such as our API reference, tutorials, guides, and in-depth articles—refer to our main documentation website.
🔧 Installation
You can install the meilisearch package by adding a few lines into pubspec.yaml file.
dependencies:meilisearch:^0.19.0
Then open your terminal and update dart packages.
pub get
Run Meilisearch
⚡️ Launch, scale, and streamline in minutes with Meilisearch Cloud—no maintenance, no commitment, cancel anytime. Try it free now.
🪨 Prefer to self-host? Download and deploy our fast, open-source search engine on your own infrastructure.
🚀 Getting started
Add Documents
import'package:meilisearch/meilisearch.dart';
voidmain() async {
var client = MeiliSearchClient('http://127.0.0.1:7700', 'masterKey');
// An index is where the documents are stored.var index = client.index('movies');
const documents = [
{ 'id': 1, 'title': 'Carol', 'genres': ['Romance', 'Drama'] },
{ 'id': 2, 'title': 'Wonder Woman', 'genres': ['Action', 'Adventure'] },
{ 'id': 3, 'title': 'Life of Pi', 'genres': ['Adventure', 'Drama'] },
{ 'id': 4, 'title': 'Mad Max: Fury Road', 'genres': ['Adventure', 'Science Fiction'] },
{ 'id': 5, 'title': 'Moana', 'genres': ['Fantasy', 'Action']},
{ 'id': 6, 'title': 'Philadelphia', 'genres': ['Drama'] },
]
// If the index 'movies' does not exist, Meilisearch creates it when you first add the documents.var task = await index.addDocuments(documents); // => { "uid": 0 }
}
With the uid, you can check the status (enqueued, canceled, processing, succeeded or failed) of your documents addition using the task.
Basic Search
// Meilisearch is typo-tolerant:var result = await index.search('carlo');
print(result.hits);
Note that MeiliSearch will rebuild your index whenever you update filterableAttributes.
Depending on the size of your dataset, this might take time. You can track the process using the task status.
Then, you can perform the search:
await index.search('wonder', filter: ['id > 1 AND genres = Action']);
Meilisearch uses dio internally to send requests, you can provide it with your own interceptors or adapter using the MeiliSearchClient.withCustomDio constructor.
Using MeiliDocumentContainer
The MeiliDocumentContainer<T> class contains meilisearch-specific fields (e.g. rankingScoreDetails, _formatted, matchesPosition, etc...).
We define the mapToContainer() extension to help you quickly opt-in to this class, example:
final res = await index
.search("hello world")
.asSearchResult() //or .asPaginatedResult() if using page parameters
.mapToContainer();
🤖 Compatibility with Meilisearch
This package guarantees compatibility with version v1.x of Meilisearch, but some features may not be present. Please check the issues for more info.
💡 Learn more
The following sections in our main documentation website may interest you:
Any new contribution is more than welcome in this project!
If you want to know more about the development workflow or want to contribute, please visit our contributing guidelines for detailed instructions!
Meilisearch provides and maintains many SDKs and Integration tools like this one. We want to provide everyone with an amazing search experience for any kind of project. If you want to contribute, make suggestions, or just know what's going on right now, visit us in the integration-guides repository.