5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Flutter】Algoliaの基本的な実装方法

Last updated at Posted at 2022-01-19

はじめに

FlutterでAlgoliaを使用したのですが、英語の記事が多く苦労したので、まとめておきます。

本記事では、
パッケージのインストール ~ 検索を実行し、その結果を取得
を記載します。

Algoliaの実装方法

使用するパッケージ

"algolia"というパッケージを使用します。

pubspec.yaml

pubspec.yaml
dependencies:
 algolia: ^1.0.4

コード

アプリケーションIDおよびAPIキーの設定

Algolia.init(
      applicationId: 'YOUR_APPLICATION_ID',
      apiKey: 'YOUR_API_KEY',
    );

init()はstaticのため、以降で生成するインスタンス全てにおいて、
設定したアプリケーションIDおよびAPIキーが適用されます。

クエリの生成

AlgoliaQuery query = algolia.instance.index('contacts').query('john');

index()の引数には、指定したいindex名を、
query()の引数には、検索したいキーワードを、設定します。

クエリに検索条件を設定

// 最大取得件数を設定
query = query.setLength(100);

一例として、最大取得件数を設定しました。
他の検索条件を設定する場合でも、同じようにすればOKです。

<注意>

以下の書き方では、設定した事になりません。

// 最大取得件数を設定
query.setLength(100);

setLength()の戻り値(AlgoliaQuery)を、queryで受け取りましょう。

検索を実行

AlgoliaQuerySnapshot snap = await query.getObjects();

検索結果を見る

// 検索にヒットしたオブジェクトの数
snap.nbHits; // int

// 検索にヒットしたオブジェクトのリスト
snap.hits; // List<AlgoliaObjectSnapshot>
// 1件ずつ内容を見る
for (final hit in snap.hits) {
  // オブジェクトの内容は、Mapに格納されている
  final object = hit.data; // Map<String, dynamic>
}

コードまとめ

今までのコードを、一つにまとめたコードです。

// アプリケーションIDとAPIキーの設定
Algolia.init(
      applicationId: 'YOUR_APPLICATION_ID',
      apiKey: 'YOUR_API_KEY',
    );

// クエリの生成
AlgoliaQuery query = algolia.instance.index('contacts').query('john');

// 検索条件を設定
query = query.setLength(100);

// 検索を実行
AlgoliaQuerySnapshot snap = await query.getObjects();

// 検索結果を見る
for (final hit in snap.hits) {
  final object = hit.data; // Map<String, dynamic>
}

おわりに

分かってしまえば簡単なのですが、分かるまでが大変でした。。

今後、Flutterでalgoliaを使う方がいれば、参考にしていただければ幸いです。
では。

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?