SKAWR Search for Flutter
Lightweight search-only client for Flutter apps. For server-side operations (indexing, documents, API keys), use the full SKAWR SDK.
Installation
dependencies:
skawr_search: ^0.1.0
Quick Start
import 'package:skawr_search/skawr_search.dart';
final search = SkawrSearch(publicKey: 'a1b2c3d4');
// Search
final results = await search.search('shoes', options: SearchOptions(
page: 1,
perPage: 10,
sortBy: 'relevance',
highlightMatches: true,
));
for (final item in results.results) {
print('${item.title} - ${item.price} ${item.currency}');
}
API
Search
final response = await search.search('laptop', options: SearchOptions(
filters: SearchFilters(
category: 'electronics',
minPrice: 500,
maxPrice: 2000,
source: ['amazon', 'noon'],
),
page: 1,
perPage: 20,
sortBy: 'price',
highlightMatches: true,
));
print('${response.totalResults} results in ${response.tookMs}ms');
Suggestions
final suggestions = await search.suggest('sho', limit: 5);
print(suggestions.queryCompletions); // ['shoes', 'shorts', ...]
Autocomplete
final completions = await search.autocomplete('sh', limit: 5);
print(completions.suggestions); // ['shoes', 'shirts', ...]
Error Handling
try {
final results = await search.search('test');
} on SearchException catch (e) {
print('${e.statusCode}: ${e.detail}');
}
Configuration
final search = SkawrSearch(
publicKey: 'a1b2c3d4', // required, 8-char prefix
baseUrl: 'https://api.skawr.com', // optional
timeout: Duration(seconds: 10), // optional
);
Cleanup
search.close();
Libraries
- skawr_search
- SKAWR Search — lightweight search-only client for Flutter.