๐Ÿ“ฆ techouse / alfred-vue-docs

๐Ÿ“„ algolia_search.dart ยท 30 lines
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30import 'package:algoliasearch/algoliasearch_lite.dart';

import '../env/env.dart';
import '../models/search_result.dart';

class AlgoliaSearch {
  AlgoliaSearch._();

  static final SearchClient _client = SearchClient(
    appId: Env.algoliaApplicationId,
    apiKey: Env.algoliaSearchOnlyApiKey,
  );

  static Future<SearchResponse> query(String queryString, {String? version}) =>
      _client.searchIndex(
        request: SearchForHits(
          indexName: Env.algoliaSearchIndex,
          query: queryString,
          facetFilters: ['version:${version ?? Env.supportedVersions.last}'],
          attributesToRetrieve: SearchResult.attributesToRetrieve,
          attributesToSnippet: SearchResult.attributesToSnippet,
          snippetEllipsisText: SearchResult.snippetEllipsisText,
          page: 0,
          hitsPerPage: 20,
        ),
      );

  static dispose() => _client.dispose();
}