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

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 — lightweight search-only client for Flutter.