OpenSearch とオープンソースの Elasticsearch の用語比較
OpenSearch は、Alibaba Cloud によって開発された大規模分散型検索エンジンです。OpenSearch と Elasticsearch の特定の用語は名前は同じですが、定義と使用方法が異なります。次の 2 つの表は、これらの用語について説明しています。
Elasticsearch
用語 | 説明 | リレーショナルデータベースとの比較 |
index | Elasticsearch における論理データの論理ストレージ。 | データベースの名前。 |
field | Elasticsearch では、フィールドはデータ型が作成された後に作成されます。データ型はインデックスが作成された後に作成されます。 | テーブル内の属性の名前。 |
attribute | フィールドのデータ型 (STRING、INT、DOUBLE など)。 | フィールドのデータ型 (STRING、INT、DOUBLE など)。 |
OpenSearch
用語 | 説明 | リレーショナルデータベースとの比較 |
index | ドキュメントの取得を高速化するために使用されるデータ構造。複数のインデックスを作成できます。 | リレーショナルデータベースの 1 つ以上の列の値を事前にソートするために使用されるデータ構造。インデックスを使用すると、データベース内のテーブル全体をスキャンすることなく、要件を満たすデータエントリを見つけることができます。 |
field | ドキュメントのコンポーネント。フィールドは、フィールド名とフィールド値で構成されます。 | テーブル内の属性の名前。 |
attribute | 属性フィールドは、クエリ の filter、sort、aggregate、および distinct 句で使用して、フィルタリングや統計などの機能を実装できます。ここで説明する属性の定義と使用方法は、OpenSearch に固有のものです。 | テーブル内の属性の名前。 |
OpenSearch におけるインデックス、属性、およびフィールドの定義と使用方法
インデックス: OpenSearch では、インデックスはドキュメントの取得に使用され、取得プロセスはドキュメントの分析に依存します。ドキュメントは、取得に使用されるフィールドと見なすことができます。したがって、インデックスはアナライザーおよびフィールドに関連付けられています。1 つのインデックスは 1 つのアナライザーにのみ関連付けることができますが、1 つのアナライザーは複数のインデックスに関連付けることができます。1 つのインデックスは 1 つ以上のフィールドに関連付けることができます。たとえば、複合インデックスは複数のフィールドに関連付けられています。
属性: ここで説明する属性の定義と使用方法は、OpenSearch 固有のものです。filter、sort、aggregate、または distinct 句を特定のフィールドに使用する場合、これらのフィールドは属性フィールドとして構成する必要があります。属性はフィールドのマークであり、上記の句でフィールドが参照される可能性があることを示します。
フィールド: フィールドの使い方は簡単です。インデックスと属性を使用して取得される各ドキュメントには、複数のフィールドが含まれています。ドキュメントは、データベースのデータエントリに似ています。さらに、OpenSearch のフィールドは、データソースのフィールドをマッピングするために使用されます。フィールドは OpenSearch で定義されます。データソースから OpenSearch にデータをインポートする場合、データソースのフィールドを OpenSearch のフィールドにマッピングする必要があります。これにより、データ型、フィールド名、およびフィールド値間の一貫性が確保されます。
注: このトピックは、インデックス、属性、およびフィールドを理解するのに役立ちます。詳細については、アプリケーションスキーマとインデックススキーマを参照してください。
インデックスとフィールドのその他の使用方法
インデックス:
クエリ分析でインデックスを使用してクエリを書き直すことができます。
フィールド: