Alibaba Cloud Kibana には、オープンソースコミュニティのプラグインをベースにした、BSearch-QueryBuilder と bsearch_label という 2 つのプラグインがプリインストールされています。このトピックでは、これらの Kibana プラグインをインストールおよび削除する方法について説明します。
プラグインのインストール
注意事項
Kibana プラグインは、Alibaba Cloud Elasticsearch のバージョン 6.3 および 6.7 でのみサポートされます。
プラグインをインストールする前に、Kibana ノードに少なくとも 2 vCPU と 4 GB のメモリがあることを確認してください。Kibana ノードがこの要件を満たしていない場合は、アップグレードしてください。詳細については、「クラスター設定のアップグレード」をご参照ください。
カスタム Kibana プラグインはインストールできません。
手順
Alibaba Cloud Elasticsearch コンソールにログインします。
左側のナビゲーションウィンドウで、Elasticsearch クラスター をクリックします。
上部メニューで、リソースグループとリージョンを選択します。
Elasticsearch クラスター ページで、対象クラスターの ID をクリックします。
左側のナビゲーションウィンドウで、データ可視化 をクリックします。
Kibana セクションで、設定の編集 をクリックします。
プラグインの設定 セクションで、インストールするプラグインを探し、アクション 列の インストール をクリックします。
重要プラグインをインストールすると、Kibana ノードが再起動されます。再起動中、Kibana サービスは利用できなくなります。この操作はオフピーク時間に実行することを推奨します。
[インストールのプロンプト] ダイアログボックスで、OK をクリックします。
ノードが再起動されると、プラグインがインストールされます。プラグインのステータスが インストール済み に変わります。
BSearch-QueryBuilder を使用したデータのクエリ
BSearch-QueryBuilder は、複雑な DSL ステートメントを記述することなく、視覚的に複雑な検索リクエストを構築できるフロントエンド専用プラグインです。このセクションでは、BSearch-QueryBuilder プラグインを使用してデータをクエリする方法について説明します。
背景情報
Query DSL は、タイプセーフな SQL クエリを構築するためのオープンソースの Java フレームワークです。文字列を連結する代わりに、API を使用してクエリを構築できます。Query DSL は、JPA、JDO、SQL、Java Collections、RDF、Lucene、Hibernate Search などのプラットフォームをサポートしています。
Elasticsearch は、クエリを定義するための包括的な JSON ベースの DSL を提供します。Query DSL は、一連の抽象的なクエリ式で構成されています。特定のクエリには他のクエリ (bool など) を含めることができ、一部のクエリにはフィルター (constant_score など) を含めることができ、その他のクエリにはクエリとフィルターの両方 (filtered など) を含めることができます。Elasticsearch でサポートされているクエリ式とフィルターを組み合わせて、複雑なクエリを構築できます。ただし、DSL ステートメントの記述はエラーが発生しやすく、専門的な知識が必要です。BSearch-QueryBuilder は、Elasticsearch DSL に精通していないユーザーが DSL ステートメントを迅速に生成するのに役立ちます。
BSearch-QueryBuilder プラグインには、次の特徴があります。
使いやすさ: BSearch-QueryBuilder プラグインは、Elasticsearch DSL クエリリクエストを構築するための視覚的なポイントアンドクリックインターフェイスを提供します。コーディングなしでカスタムデータクエリを実行できるため、複雑な DSL の学習の負担が軽減されます。また、開発者が DSL ステートメントを記述または検証するのにも役立ちます。
利便性と速度: 複雑なクエリ条件を Kibana に保存して、再作成する手間を省けます。
軽量: このプラグインが占有するディスク容量は約 14 MB で、メモリに常駐しません。Kibana と Elasticsearch の通常の操作には影響しません。
安全性と信頼性: BSearch-QueryBuilder プラグインは、データを変更、保存、または転送しません。そのソースコードは、Alibaba Cloud のセキュリティ監査に合格しています。
BSearch-QueryBuilder プラグインは、バージョン 6.3 または 6.7 を実行している Alibaba Cloud Elasticsearch クラスターでのみサポートされます。
手順
Alibaba Cloud Elasticsearch クラスターの Kibana コンソールにログインします。
詳細については、「Kibanaコンソールへのログイン」をご参照ください。
オプション:左側のナビゲーションウィンドウで [Management] をクリックし、インデックスパターンを作成します。
重要すでにインデックスパターンを作成している場合は、この手順をスキップしてください。
[Management] ページで、Kibana セクションの [インデックスパターン] をクリックします。
[インデックスパターンの作成] ページで、インデックスパターン名を入力します。名前は、クエリするインデックスと一致する必要があります。
[次のステップ] をクリックします。
[インデックスパターンの作成] ページの [インデックスパターン] フィールドに
product_infoと入力します。1 つのインデックスが一致することを示すメッセージが表示されます。[インデックスパターンの作成] をクリックします。
左側のナビゲーションウィンドウで、[Discover] をクリックします。
[Discover] ページの右上隅にある クエリ をクリックします。
クエリとフィルターの条件を追加し、[送信] をクリックします。
アイコンをクリックして、クエリ条件を追加します。
アイコンをクリックして、クエリにサブフィルター条件を追加します。
アイコンをクリックして、クエリまたはフィルター条件を削除します。
BSearch-QueryBuilder は、ワイルドカードクエリ、複数条件クエリ、カスタム時間範囲でのクエリなど、さまざまなクエリタイプをサポートしています。以下に、これらのクエリを実行する例を示します。
ワイルドカードクエリ
次の例では、Eメール フィールドでの曖昧検索を示します。この検索では、Eメール フィールドが [iga] と曖昧一致するようにします。フィルター条件で、フィールドを email に設定し、照合タイプとして [ワイルドカード] を選択し、照合値として
*iga*を入力してから、[送信] をクリックしてクエリを実行します。クエリは、
abigail@salazar-family.zzzやabigail@banks-family.zzzなど、メールにigaを含むすべてのレコードを返します。結果には、customer_first_name、customer_gender、taxful_total_price などのフィールドも表示されます。複数条件クエリ
次の例の検索条件では、[index] を [tryme_book] とし、Type フィールドにフィルターを適用するように指定します。 Type は、[University Teaching Aids]、Math 、[Teaching Chinese to Speakers of Other Languages]、または [University Textbooks] のいずれかである必要があります。 クエリビルダーで、
tryme_bookインデックスを選択し、一致タイプとして [Match] を選択します。 値がUniversity Teaching Aids、Mathematics、Teaching Chinese to Speakers of Other Languages、およびUniversity Textbooksである type フィールドの 4 つの一致条件を含む OR 論理グループを追加します。 [送信] をクリックしてクエリを送信します。クエリは、一致する複数の書籍ドキュメントを返します。各レコードには、JSON 形式で
author、price、publish、name、infoなどのフィールドが表示されます。カスタム時間範囲でのクエリ
時間フィールドでフィルターできます。この例では、[utc_time] フィールドをフィルターして、
[now-240d, now]の範囲内のデータをクエリする方法を説明します。フィルターフィールドを utc_time に設定し、条件タイプとして [過去] を選択し、値として240日と入力してから、[送信] をクリックします。クエリは、指定された時間範囲 (過去 240 日間) に一致するすべてのデータレコードを返します。
bsearch_label を使用したデータのラベリング
bsearch_label は、DSL ステートメントを記述することなく、視覚的にデータをラベリングできるフロントエンド専用のデータラベリングプラグインです。データをラベリングすることにより、フィールドに特別な値を割り当てたり、特定の値を持つ新しいフィールドを追加したりできます。その後、集約、分類、統計分析、またはクイックフィルタリングにラベルを使用できます。
手順
対象の Alibaba Cloud Elasticsearch クラスターの Kibana コンソールにログインします。詳細については、「Kibanaを使用したクラスターへの接続」をご参照ください。
オプション: 左側のナビゲーションウィンドウで [Management] をクリックし、インデックスパターンを作成します。すでにインデックスパターンを作成している場合は、この手順をスキップしてください。
[Management] ページで、Kibana セクションの [インデックスパターン] をクリックします。
[インデックスパターンの作成] ページで、インデックスパターン名を入力します。名前は、クエリするインデックスと一致する必要があります。
[次のステップ] をクリックします。
[インデックスパターンの作成] をクリックします。
左側のナビゲーションウィンドウで、[Discover] をクリックします。
[Discover] ページの右上隅にある Label をクリックします。
Label ボタンは、bsearch_label プラグインをインストールした後にのみ表示されます。
次のいずれかの方法を使用してデータをラベリングします。
既存のフィールドのラベリング
たとえば、名前が田中一郎であるレコードを検索します。
ageフィールドを選択し、値を18に設定します。[ラベリングの確認] をクリックします。
[ラベリング履歴] スイッチをオンにして、ラベリング履歴を表示します。
新しいフィールドのラベリング
たとえば、名前が田中一郎であるレコードを検索します。
[カスタムラベリングフィールド] チェックボックスにチェックを入れます。
新規フィールド
tagを追加し、その値をteenagerに設定します。[ラベリングの確認] をクリックして結果を表示します。
プラグインの削除
プラグインの設定 セクションで、削除するプラグインを探し、アクション 列の アンインストール をクリックし、画面の指示に従ってください。
プラグインを削除する場合も、Kibana ノードの再起動が必要です。再起動中、Kibana サービスは利用できなくなります。この操作はオフピーク時間に実行することを推奨します。