Hexabase(ヘキサベース)は企業向けのBaaS(Backend as a Service)を提供しています。認証やデータストア、ファイルストレージ、リアルタイム通知などの機能があり、企業向けのシステム開発に必要な機能をまるっと提供しています。
APIはREST APIとGraphQLを提供しています。そのAPIをラップしたSDKも開発を進めています。SDKは現在、TypeScriptとDart向けに開発しています。Dart向けのSDKは、もちろんFlutterでも利用できます。
この記事ではDart/Flutter SDKについて、全文検索に対応したので使い方を解説します。
Hexabaseの全文検索について
Hexabaseで提供する全文検索は全部で3パターンあります。
- アイテム
- 添付ファイル
- 履歴コメント
全文検索を行う際には、いずれかを指定する必要があります。
全文検索の対象にする
フィールドの設定にて、 全文検索の対象にする
をチェックしてください。これがないと、全文検索対象外になります。
パッケージとソースコード
パッケージはpub.devで公開しています。
ソースコードはGitHubにて公開しています。ライセンスはMIT Licenseです。
hexabase/hexabase-dart: Hexabase SDK for Dart & Flutter
インストール
インストールは dart pub get
で行えます。
dart pub get hexabase
インポート
SDKをインポートします。
import 'package:hexabase/hexabase.dart';
初期化
まずインスタンスを作成します。
var client = Hexabase();
別なファイルで再度インポートした場合には、以下でインスタンスを取得してください。
var client = Hexabase.instance;
全検索を行う
全文検索は、まず対象となるデータベースを指定します。
var project = client.project(id: "PROJECT_ID");
var datastore = project.datastore(id: "DATASTORE_ID");
そして検索を実行します。 HBSearchType
には history
の他、 item
と file
が用意されています。それぞれ対象を指定するのに利用します。
var response = await datastore.search(HBSearchType.history, "comment");
print(response.count); // Items count
print(response.items); // Items
まとめ
Hexabaseでは全文検索にelasticを利用し、強力な全文検索を実現しています。データベースや全文検索を独自に構築するのは面倒ですが、Hexabaseを使えば瞬時に利用開始できます。
ぜひBaaSを使ってアプリ開発にチャレンジしてください。