すべてのプロダクト
Search
ドキュメントセンター

Elasticsearch:bsearch_querybuilder プラグインを使用してデータをクエリする

最終更新日:Jan 11, 2025

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 クラスタのみをサポートしています。

手順

  1. Alibaba Cloud Elasticsearch クラスタの Kibana コンソールにログインします。

    詳細については、「Kibana コンソールへのログイン」をご参照ください。

  2. 左側のナビゲーション ペインで、[管理] をクリックし、次の手順に従ってインデックス パターンを作成します。

    重要

    インデックス パターンを作成済みの場合は、この手順をスキップしてください。

    1. Kibana[管理] ページの インデックスパターン セクションで、 をクリックします。

    2. [インデックス パターンの作成] セクションで、インデックス パターンの名前 (クエリするインデックスの名前) を入力します。

    3. [次のステップ] をクリックします。

      Create an index pattern

    4. [インデックス パターンの作成] をクリックします。

  3. 左側のナビゲーション ペインで、[検出] をクリックします。

  4. [検出] ページの上部ナビゲーション バーで、[クエリ] をクリックします。

  5. 表示されるセクションで、検索条件とフィルターを選択し、[送信] をクリックします。

    Query result

    • Add a search condition ボタンをクリックして、検索条件を追加します。

    • Add a filter for a search condition ボタンをクリックして、検索条件のフィルターを追加します。

    • Delete a search condition or filter ボタンをクリックして、検索条件またはフィルターを削除します。

    bsearch_querybuilder プラグインを使用すると、あいまいクエリ、ブール クエリ、範囲クエリなど、さまざまなクエリを作成できます。例:

    • あいまいクエリ

      次の図に示すように、あいまい一致のために [email] 条件が追加されます。 [email] 条件は、[iga] キーワードを含むすべてのメール アドレスと一致します。Fuzzy query

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

    • ブール クエリ

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

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

    • 範囲クエリ

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

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