2
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.

Hexabase Flutter SDKで全文検索を行う

Last updated at Posted at 2023-01-28

Hexabase(ヘキサベース)は企業向けのBaaS(Backend as a Service)を提供しています。認証やデータストア、ファイルストレージ、リアルタイム通知などの機能があり、企業向けのシステム開発に必要な機能をまるっと提供しています。

APIはREST APIとGraphQLを提供しています。そのAPIをラップしたSDKも開発を進めています。SDKは現在、TypeScriptとDart向けに開発しています。Dart向けのSDKは、もちろんFlutterでも利用できます。

この記事ではDart/Flutter SDKについて、全文検索に対応したので使い方を解説します。

Hexabaseの全文検索について

Hexabaseで提供する全文検索は全部で3パターンあります。

  • アイテム
  • 添付ファイル
  • 履歴コメント

全文検索を行う際には、いずれかを指定する必要があります。

全文検索の対象にする

フィールドの設定にて、 全文検索の対象にする をチェックしてください。これがないと、全文検索対象外になります。

image.png

パッケージとソースコード

パッケージはpub.devで公開しています。

hexabase | Flutter Package

ソースコードは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 の他、 itemfile が用意されています。それぞれ対象を指定するのに利用します。

var response = await datastore.search(HBSearchType.history, "comment");
print(response.count); // Items count
print(response.items); // Items

まとめ

Hexabaseでは全文検索にelasticを利用し、強力な全文検索を実現しています。データベースや全文検索を独自に構築するのは面倒ですが、Hexabaseを使えば瞬時に利用開始できます。

ぜひBaaSを使ってアプリ開発にチャレンジしてください。

株式会社 Hexabaseー法人向けクラウドシステム『Hexabase』ー

2
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
2
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?