Aus öffentlichen Paketdaten erstellte Orientierung.
Meilisearch Dart ist ein leichtgewichtiger API-Client für Dart- und Flutter-Anwendungen, der eine nahtlose Integration mit Meilisearch ermöglicht, einem schnellen, relevanten und anpassbaren Suchmotor. Er ermöglicht Entwicklern, Echtzeit-Suchen durchzuführen, Indizes zu verwalten und Dokumentaktualisierungen direkt aus ihren Apps heraus vorzunehmen. Der Client unterstützt alle wichtigen Plattformen wie Android, iOS, Web, macOS, Windows und Linux und ist somit ideal für plattformübergreifende Suchfunktionen. Mit intuitiven Methoden und minimalem Setup vereinfacht er die Einbindung leistungsstarker Suchfunktionen in jedes Flutter-Projekt.
Anwendungsfälle
Echtzeit-Suche in mobilen Apps
Indexverwaltung in Flutter
Volltextsuche über mehrere Plattformen
Suchvorschläge und Autocomplete
Dokumentenindizierung und Aktualisierungen
Plattformübergreifende Suchimplementierung
Hauptmerkmale
Einfache API für Suchvorgänge
Unterstützt alle wichtigen Plattformen
Echtzeit-Suchergebnisse
Einfache Index- und Dokumentenverwaltung
Leicht und schnell
Eingebaute Fehlerbehandlung
Geeignet für
Flutter-Entwickler, die Suchfunktionen benötigen
Apps, die eine schnelle Volltextsuche erfordern
Projekte für mehrere Plattformen
Teams, die Meilisearch Backend verwenden
Entwickler, die eine geringe Latenzsuche wünschen
Hinweise
Benötigt einen laufenden Meilisearch-Server
Erforderliche API-Schlüsselverwaltung
Beschränkt auf Meilisearch-Backend
Netzwerkabhängigkeit für Suchanfragen
Nicht geeignet für Offline-Suche allein
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
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.