日付フィールドのインデックス作成方法
date
date
Atlas Search date
タイプを使用して、 BSON日付値をインデックスできます。 Atlas Search 範囲 、 近似 、 等価 演算子を使用して、 BSONデータ型 のフィールドをクエリできます。 フィールドに対してファセットクエリを実行するには、 dateFacet を使用して日付フィールドをインデックス必要があります。
また、 date
型を使用してインデックスを作成することもできます。
値が日付の配列であるフィールド。 詳細については、 配列の要素にインデックスを付ける方法 を参照してください。
embeddedDocuments型としてインデックス付けされたドキュメントの配列内の日付フィールド。
ソート用の日付フィールド。 Atlas Search2023は、Atlas Search の結果を 並べ替える ために、 7 月 以降に作成されたインデックス内のすべての日付フィールドを自動的にインデックス化します。既存のインデックスの場合、ソートにインデックス内の日付フィールドを使用するには、インデックスを 再構築 する必要があります。 詳しくは、「既存のインデックスを更新し、 Atlas Search結果を並べ替える 」を参照してください。
注意
動的マッピングを有効にすると、Atlas Search はdate
型のフィールドを自動的にインデックス化します。 Atlas UI のビジュアル エディターまたはJSON エディターを使用して、 date
タイプのフィールドにインデックスを付けることができます。
date
型のインデックスを定義する
date
タイプのインデックスを定義するには、Atlas UI で希望する構成方法を選択し、データベースとコレクションを選択します。
[ Refine Your Indexをクリックしてインデックスを構成します。
Field Mappingsセクションで、 Add Field MappingをクリックしてAdd Field Mappingウィンドウを開きます。
[Customized Configuration] をクリックします。
Field Nameドロップダウンからインデックスするフィールドを選択します。
注意
フィールド名の先頭にドル記号(
$
)が含まれるフィールドにはインデックスを付けられません。[ Date Data Typeドロップダウンをクリックし、[] を選択します。 このタイプの詳細については、「 フィールド プロパティ」を参照してください。
[Add] をクリックします。
以下は、date
型の JSON 構文です。デフォルトのインデックス定義を以下のように置き換えます。フィールドの詳細については、「フィールド プロパティ」を参照してください。
1 { 2 "mappings": { 3 "dynamic": true|false, 4 "fields": { 5 "<field-name>": { 6 "type": "date" 7 } 8 } 9 } 10 }
date
フィールド プロパティを構成する
Atlas Search date
タイプは次のパラメータを取ります。
オプション | タイプ | 必要性 | 説明 |
---|---|---|---|
| string | 必須 | このフィールド型を識別する、人間が判読できるラベル。値は |
date
型の例を試す
次のインデックス定義の例では、 sample_mflix.moviesコレクションを使用します。 サンプル データがすでにクラスターにロードされている場合は、Atlas UI のビジュアル エディターまたはJSONエディターを使用してインデックスを構成できます。 ご希望の構成方法を選択したら、データベースとコレクションを選択し、インデックスを微調整してフィールド マッピングを追加します。
次のインデックス定義の例では、 released
フィールドを Atlas Search date
タイプとしてインデックス化し、 near 、 range 、 equals などの Atlas Search 演算子を使用して、そのフィールドに対するクエリをサポートします。
Add Field Mappingウィンドウで、 Field Nameドロップダウンからreleasedを選択します。
Data Typeドロップダウンをクリックし、Date を選択します。
[Add] をクリックします。
デフォルトのインデックス定義を、以下のインデックス定義で置き換えます。
1 { 2 "mappings": { 3 "dynamic": false, 4 "fields": { 5 "released": { 6 "type": "date" 7 } 8 } 9 } 10 }
次のインデックス定義の例では、released
フィールドをdate
タイプとdateFacet
タイプとしてインデックス化し、クエリの結果の次のタイプを返します。
Atlas Search 演算子を使用したクエリの検索結果には、 near 、 equals 、 range などがあります。
Atlas Searchファセットを使用したクエリのメタデータ結果。
Add Field Mappingウィンドウで、 Field Nameドロップダウンからreleasedを選択します。
Data Typeドロップダウンをクリックし、Date を選択します。
[Add] をクリックします。
ステップ1を繰り返し、 Data Typeドロップダウンから [ DateFacet ] を選択します。
[Add] をクリックします。
デフォルトのインデックス定義を、以下のインデックス定義で置き換えます。
1 { 2 "mappings": { 3 "dynamic": false, 4 "fields": { 5 "released": [ 6 { 7 "type": "date" 8 }, 9 { 10 "type": "dateFacet" 11 } 12 ] 13 } 14 } 15 }