bsearch_querybuilder は、高度なクエリとも呼ばれます。これはフロントエンド プラグインです。このプラグインは、複雑なドメイン固有言語 ( DSL ) ステートメントを記述することなく、複雑なクエリを作成できるビジュアル インターフェースを提供します。
前提条件
Alibaba Cloud Elasticsearch V6.3 または V6.7 クラスタが作成されていること。
詳細については、「Alibaba Cloud Elasticsearch クラスタの作成」をご参照ください。このトピックでは、Alibaba Cloud Elasticsearch V6.3 クラスタを例として使用します。
bsearch_querybuilder プラグインがインストールされていること。
詳細については、「Kibana プラグインのインストール」をご参照ください。
インデックスが作成され、データがインデックスにインポートされていること。
詳細については、「はじめに」をご参照ください。
背景情報
Query DSL は、SQL タイプセーフなクエリを定義するために使用されるオープンソースの Java フレームワークです。ステートメントを記述する代わりに、API オペレーションを呼び出してクエリを送信できます。 Query DSL は、JPA、JDO、SQL、Java Collections、RDF、Lucene、および Hibernate Search をサポートしています。
Elasticsearch は、クエリを定義するために JSON に基づいた完全な Query DSL を提供します。 Query DSL は、多数のクエリ式を提供します。一部のクエリは、ブール クエリなど、他のクエリをラップできます。一部のクエリは、constant_score クエリなど、フィルターをラップできます。一部のクエリは、フィルター クエリなど、他のクエリとフィルターの両方をラップできます。 Elasticsearch でサポートされている任意のクエリ式とフィルターを組み合わせて、複雑なクエリを作成し、返される結果をフィルターできます。 DSL は複雑な言語であり、習得が困難です。ほとんどの場合、ユーザーは間違いを犯したり、DSL ステートメントの記述に多くの時間を費やしたりします。 bsearch_querybuilder プラグインは、DSL ステートメントの記述を簡素化し、効率を向上させます。
bsearch_querybuilder には次の機能があります。
習得しやすい: bsearch_querybuilder はグラフィカル ツールです。シンプルなクリック アンド ドラッグ操作で DSL クエリを作成できます。複雑なコーディングを必要とせずに検索条件をカスタマイズできるため、DSL ステートメントの記述を学習するためのコストが削減されます。また、開発者が DSL ステートメントを記述および検証するのにも役立ちます。
使いやすい: 定義したすべてのクエリは Kibana に保存されます。これらのクエリは、いつでも使用できます。
コンパクト: bsearch_querybuilder は約 14 MiB のディスク容量しか消費せず、メモリに常駐しません。これは、プラグインが Kibana と Elasticsearch のパフォーマンスに影響を与えないことを意味します。
安全で信頼性が高い: bsearch_querybuilder は、ユーザー データを書き換えたり、保存したり、転送したりしません。 bsearch_querybuilder のソース コードは、Alibaba Cloud のセキュリティ監査に合格しています。
bsearch_querybuilder は、Elasticsearch V6.3 または V6.7 クラスタのみをサポートしています。
手順
Alibaba Cloud Elasticsearch クラスタの Kibana コンソールにログインします。
詳細については、「Kibana コンソールへのログイン」をご参照ください。
左側のナビゲーション ペインで、[管理] をクリックし、次の手順に従ってインデックス パターンを作成します。
重要インデックス パターンを作成済みの場合は、この手順をスキップしてください。
Kibana[管理] ページの インデックスパターン セクションで、 をクリックします。
[インデックス パターンの作成] セクションで、インデックス パターンの名前 (クエリするインデックスの名前) を入力します。
[次のステップ] をクリックします。

[インデックス パターンの作成] をクリックします。
左側のナビゲーション ペインで、[検出] をクリックします。
[検出] ページの上部ナビゲーション バーで、[クエリ] をクリックします。
表示されるセクションで、検索条件とフィルターを選択し、[送信] をクリックします。

ボタンをクリックして、検索条件を追加します。
ボタンをクリックして、検索条件のフィルターを追加します。
ボタンをクリックして、検索条件またはフィルターを削除します。
bsearch_querybuilder プラグインを使用すると、あいまいクエリ、ブール クエリ、範囲クエリなど、さまざまなクエリを作成できます。例:
あいまいクエリ
次の図に示すように、あいまい一致のために [email] 条件が追加されます。 [email] 条件は、[iga] キーワードを含むすべてのメール アドレスと一致します。

次の図は、返された結果を示しています。

ブール クエリ
次の図に示すように、[index] 条件は [tryme_book] に設定されています。複数のフィルターを含む OR 条件も追加され、[type] でデータをフィルターします。 [type] フィルターは、[学部教材]、[数学]、[外国語教育]、[学部教科書] に設定されています。

次の図は、返された結果を示しています。

範囲クエリ
範囲クエリを使用すると、日付でデータを検索できます。次の図に示すように、範囲条件を使用して、[utc_time] フィールドに基づいてデータをフィルターします。指定された時間範囲内に作成されたデータ エントリのみが返されます。指定された時間範囲は
[現在時刻 - 240 日、現在時刻]です。
次の図は、返された結果を示しています。
