BSearch-QueryBuilder は、高度なクエリプラグインであり、フロントエンドのプラグインでもあります。 BSearch-QueryBuilder プラグインを使用すると、データ照会用の複雑なドメイン固有言語 (DSL) 文を記述する必要がなくなります。 視覚化された方法で複雑なクエリを作成できます。 このドキュメントでは、BSearch-QueryBuilder プラグインを使用してデータを照会する方法について説明します。
特徴
- わかりやすい:BSearch-QueryBuilder は UI コンポーネントです。クリックして選択することで Elasticsearch DSL クエリを作成できます。 コーディングなしで検索条件をカスタマイズできます。 これにより、複雑な DSL 文を学習するコストを節約できます。 また、開発者が DSL 文を作成し、検証するのにも役立ちます。
- 使いやすい:定義したすべてのクエリは Kibana に保存されるため、いつでも使用できます。
- コンパクト:BSearch-QueryBuilder は約 14 MB のディスク容量しか消費しません。 BSearch-QueryBuilder はメモリに常駐しません。 これは、Kibana および Elasticsearch のパフォーマンスに悪影響を及ぼさないことを意味します。
- 安全で信頼性が高い:BSearch-QueryBuilder は、ユーザーデータの書き換え、保存、転送を行いません。 BSearch-QueryBuilder のソースコードは、Alibaba Cloud Security によって監査されています。
背景
Query DSL は、SQL タイプセーフクエリを定義するために使用されるオープンソースの Java フレームワークです。 文を記述する代わりに、API 操作を使用してクエリを送信できます。 現在、Query DSL は JPA、JDO、SQL、Java コレクション、RDF、Lucene、および Hibernate Search をサポートしています。
準備
BSearch-QueryBuilder をインストールする
BSearch-QueryBuilder を使用する
- Elasticsearch インスタンスの [データ可視化] ページに戻り、Kibana セクションの [コンソール]をクリックします。
- Kibana コンソールのユーザー名とパスワードを入力し、 [ログイン] をクリックします。
デフォルトのユーザー名は、 elastic です。 インスタンス作成時に指定したパスワードを入力します。
- Kibana コンソールで、 重要 クエリを作成する前に、インデックスパターンを作成したことを確認してください。 Kibana コンソールでインデックスパターンを作成するには、 [Management] をクリックし、Kibana の を選択します。そして、指示に従ってインデックスパターンを作成します。
を選択します。
- クエリ領域で、検索条件とフィルターを選択し、 [送信] をクリックします。
クエリを送信すると、クエリ結果が表示されます。
クエリ領域で、 アイコンをクリックして検索条件を追加し、 アイコンをクリックして条件のフィルターを追加します。また、 アイコンをクリックして、検索条件またはフィルターを削除します。
クエリの作成方法の詳細については、 「例」をご参照ください。
例
- Regexp クエリ
次の図に示すように、あいまい一致の email 条件が追加されます。 email 条件は、iga キーワードを含むすべての E メールアドレスに一致します。次の図は、返された結果を示しています。
- ブールクエリ
次の図に示すように、 index 条件は tryme_book に設定されます。 複数のフィルターを含む OR 条件も追加され、 type によってデータがフィルターされます。 [type] フィルターは[学部の教材]、 [数学]、 [外国語教育]、[学部の教科書] に設定されています 。次の図は、返された結果を示しています。
- 範囲クエリ
範囲クエリを使用すると、日付でデータを検索できます。 次の図に示すように、 範囲条件は utc_time フィールドに基づいて、データをフィルターするために使用されます。 指定された時間範囲内に作成されたデータエントリのみが返されます。 指定される時間範囲は次のとおりです。
[現在の時間 - 240日、現在の時間]
。次の図は、返された結果を示しています。
前の例で示したように、BSearch-QueryBuilder は Elasticsearch クエリの複雑さを大幅に簡素化します。