インデックスはデータへのショートカットを提供します。 本のインデックスが情報検索に役立つ重要な語句のリストを提供するのと同様に、ホスト フィーチャ レイヤーやホスト テーブルに定義されているインデックスは、ソフトウェアがレイヤーに対してクエリーを実行する際に必要とする情報を特定するのに役立ちます。
複数のタイプのインデックスを使用して、ホスト フィーチャ レイヤーとホスト テーブルに対するクエリーのパフォーマンスを向上させることができます。 ArcGIS Online によって定義されるものと、ユーザーが定義できるものがあります。 いずれも、特定のタイプのクエリーのパフォーマンスを向上させたり、特定の要件を満たすように設計されています。
インデックスを追加および管理するには、アイテムの所有者または組織の管理者でなければなりません。
空間インデックスの再構築
空間インデックスは、マップ上のフィーチャの描画やフィーチャの検索など、空間クエリーのパフォーマンスを改善します。
ホスト フィーチャ レイヤーを公開すると、その空間インデックスが作成されます。 自分または他の編集者がレイヤーの初期範囲の外にあるフィーチャをレイヤーに追加した場合、空間インデックスは最新でなくなり、再構築が必要になる可能性があります。 たとえば、ホスト フィーチャ レイヤーに含まれるフィーチャが 1 つの都市にのみにあり、後で国全体にわたるフィーチャを含むデータを追加した場合、そのレイヤーの空間インデックスを再構築する必要があります。
一般に、レイヤーの描画が以前より遅くなり、初期範囲の外に大量のフィーチャが追加されたことが分かっている場合は、空間インデックスを再構築します。 空間インデックスは、フィーチャ レイヤーの空間フィールドで定義されます。
レイヤーの空間インデックスを再構築するには、次の手順を実行します:
- ホスト フィーチャ レイヤーの所有者または組織管理者として組織サイトにサイン インします。
- ホスト フィーチャ レイヤーのアイテム ページを開きます。
- [設定] タブをクリックします。
- [インデックスの管理] セクションまでスクロールします。
- [空間インデックス] タブが選択されていることを確認して、[インデックスの再構築] をクリックします。
- 空間インデックスを再作成する 1 つまたは複数のサブレイヤーの横にある切り替えボタンを有効にして、[再構築] をクリックします。
注意:
空間インデックスが再構築されている間は、レイヤーのパフォーマンスが低下します。 可能であれば、レイヤーが使用中でないときに空間インデックスを再構築してください。
属性フィールドへのインデックスの追加
属性インデックスとフルテキスト インデックスを使用すると、検索やフィルターなどのクエリーが要求されたデータの検出に要する時間を短縮できます。
テーブルまたはレイヤー内の非空間属性に基づいて定義をフィルター処理または適用すると、結果の取得に時間がかかる場合は、フィールドにインデックスを追加して、クエリーのパフォーマンスを改善できます。
属性インデックスは、ArcGIS Online がサポートするフィールド タイプのいずれにも追加できます。 フィルターまたは定義で文字列フィールド内の特定の単語またはフレーズを検索する必要がある場合は、フルテキスト インデックスを追加できます。
一度に 1 フィールドを検索またはクエリーする場合は、その 1 フィールドにインデックスを 1 つ定義します。 複数のフィールドに対して 1 つの検索またはクエリーを実行する場合は、頻繁に一緒にクエリーされるすべてのフィールドに 1 つのインデックスを定義できます。
インデックスが定義されたフィールドの更新にはより多く時間がかかるので、編集頻度が高いフィールドにはインデックスを追加しないことをおすすめします。 また、クエリーが実行されないフィールドにインデックスを追加しても無意味です。
インデックスは、フィーチャ データベースの容量を若干使用するので、クレジットを使用する可能性があります。
属性インデックスの追加
ホスト フィーチャ レイヤーのレイヤーまたはテーブルのフィールドに属性インデックスを追加するには、次の手順を実行します:
- ホスト フィーチャ レイヤーの所有者または組織管理者として組織サイトにサイン インします。
- ホスト フィーチャ レイヤーのアイテム ページを開きます。
- [設定] タブをクリックします。
- [インデックスの管理] セクションまでスクロールします。
- [フィールド インデックス] タブをクリックします。
- 正しいレイヤーまたはテーブルを選択するには、[レイヤーまたはテーブル] ドロップダウン リストを使用します。
- [インデックスの追加] をクリックします。
- [属性] を選択して [次へ] をクリックします。
- 属性インデックスを追加するフィールドを選択して [リストに追加] をクリックします。
複数のフィールドを含むインデックスを定義するには、追加のフィールドを選択して、[リストに追加] を再度クリックします。
属性インデックスにはフィールドを 16 個まで追加できます。 複数のフィールドに定義されたインデックスは、すべてのフィールドを一括して検索するクエリーに役立ちます。
- ほとんどの場合、[昇順] オプションを設定したままにします。
フィールドに対して実行されるクエリーが降順のクエリーである場合は、降順インデックスを作成します。
- インデックスを追加するフィールドに一意の値が含まれており、以降も常に一意の値が含まれる場合は、[フィールド値は一意です] 切り替えボタンを有効にして一意のインデックスを作成します。
インデックスに複数のフィールドがあり、[フィールド値は一意です] 切り替えボタンを有効にする場合、複数のフィールドの値の組み合わせは一意である必要があります。 複数のフィールドのいずれかに一意の値が含まれている限り、インデックス内のすべてのフィールドの値の組み合わせは一意になります。
- [インデックスの作成] をクリックします。
インデックスの作成にかかる時間は、レイヤーまたはテーブル内の属性または行の数によって異なります。
インデックスが作成され、[フィールド インデックス] タブのインデックス リストに表示されます。
文字列属性フィールドへのフルテキスト インデックスの追加
ホスト フィーチャ レイヤーのレイヤーまたはテーブルの文字列フィールドにフルテキスト インデックスを追加するには、次の手順を実行します:
- ホスト フィーチャ レイヤーの所有者または組織管理者として組織サイトにサイン インします。
- ホスト フィーチャ レイヤーのアイテム ページを開きます。
- [設定] タブをクリックします。
- [インデックスの管理] セクションまでスクロールします。
- [フィールド インデックス] タブをクリックします。
- 正しいレイヤーまたはテーブルを選択するには、[レイヤーまたはテーブル] ドロップダウン リストを使用します。
- [インデックスの追加] をクリックします。
- [フル テキスト] を選択して [次へ] をクリックします。
- フルテキスト インデックスを追加する文字列フィールドを選択して [リストに追加] をクリックします。
指定したフィールドは、1 つのインデックスにのみ関与できます。
- [インデックスの作成] をクリックします。
インデックスの作成にかかる時間は、レイヤーまたはテーブル内の属性または行の数によって異なります。
インデックスが作成され、[フィールド インデックス] タブのインデックス リストに表示されます。
列ストア インデックスの追加
レイヤーまたはテーブルに大量のデータ (数百万個以上のフィーチャや行) が含まれている場合、列ストア インデックスによって、レポート、ダッシュボード、チャート、またはグラフで使用される計算や集約のパフォーマンスを改善することができます。
たとえば、Map Viewer でフィーチャ レイヤー内の複数のフィールドの合計を表示するチャートを構成したときに、チャートのレンダリングに数秒以上かかっている場合、フィーチャ レイヤー内のそれらのフィールドに列ストア インデックスを追加することで、チャートの描画にかかる時間を短縮することができます。 同様に、計算された値をグラフで表すダッシュボードを作成したときに、ダッシュボードの読み込みに時間がかかる場合、計算に含まれているフィールドに列ストア インデックスを追加すると役立つことがあります。
ホスト フィーチャ レイヤーのサブレイヤーまたはテーブルごとに 1 つの列ストア インデックスを追加できます。
フィールドに列ストア インデックスを追加するには、次の手順を実行します:
- ホスト フィーチャ レイヤーの所有者または組織管理者として組織サイトにサイン インします。
- ホスト フィーチャ レイヤーのアイテム ページを開きます。
- [設定] タブをクリックします。
- [インデックスの管理] セクションまでスクロールします。
- [列ストア インデックス] タブをクリックし、[インデックスの追加] をクリックします。
ホスト フィーチャ レイヤーのすべてのサブレイヤーに列ストア インデックスが定義されている場合、[インデックスの追加] は非アクティブになっています。
[列ストア インデックス] ポップアップが表示されます。
- [レイヤー] ドロップダウン メニューを使用して、列ストア インデックスを追加するサブレイヤーを選択します。
- インデックスを作成するフィールドの横のチェックボックスをオンにします。
フィールドの名前がわかっている場合は、[フィールドの検索] テキスト ボックスに名前を 1 つずつ入力します。 入力に伴って、一致するフィールドのリストが更新され、必要なフィールドを見つけることができます。
- [インデックスの作成] をクリックします。
インデックスの作成が完了するまでに数秒かかります。
インデックスが作成されると、[列ストア インデックス] ポップアップが閉じます。 [列ストア インデックス] タブに新しいインデックスがリストされます。
インデックスの削除
インデックスを追加してもクエリーのパフォーマンスが改善されないか、クエリーまたは編集のパフォーマンスが低下した場合は、インデックスを削除できます。
たとえば 2 つのフィールドが一緒にクエリーされる頻度が高いためインデックスにフィールドを追加する場合など、定義が異なるインデックスが必要であると判断した場合もインデックスを削除できます。 その場合は、既存のインデックスを削除し、インデックスに必要なすべてのフィールドを含む別のインデックスを作成する必要があります。
注意:
空間インデックスを削除することはできません。
このインターフェイス以外でデータに対して実行する他の操作によっても、インデックスが作成されます。 たとえば、Web マップのコンテンツに対する検索を構成すると、Web マップのレイヤーにインデックスが作成されます。 同様に、ユーザーが Web マップのレイヤーにフィルターを追加すると、Map Viewer によってレイヤーのフィールドにインデックスが追加されます。
ArcGIS Online では、編集情報の記録フィールド、レイヤーのオブジェクト ID、およびフィーチャ ID にもインデックスが作成されます。 これらすべてのシステム フィールド インデックスの横には鍵のシンボルが表示され、これらを削除することはできません。ホスト フィーチャ レイヤーのレイヤーまたはテーブルから属性インデックス、フルテキスト インデックス、または列ストア インデックスを削除するには、次の手順を実行します:
- ホスト フィーチャ レイヤーの所有者または組織管理者として組織サイトにサイン インします。
- ホスト フィーチャ レイヤーのアイテム ページを開きます。
- [設定] タブをクリックします。
- [インデックスの管理] セクションまでスクロールします。
- 属性インデックスまたはフルテキスト インデックスを削除するには、[フィールド インデックス] タブをクリックし、次の操作を行います:
- インデックスを削除するレイヤーまたはテーブルを選択します。
- レイヤーまたはテーブルから削除するインデックスの横にある [削除] ボタン
をクリックします。確認のポップアップが表示されます。
- インデックスを削除することを確認するには、[OK] をクリックします。
- 列ストア インデックスを削除するには、[列ストア インデックス] タブをクリックし、次の操作を行います:
- レイヤーまたはテーブルから削除するインデックスの横にある [削除] ボタン
をクリックします。確認のポップアップが表示されます。
- [確認] をクリックしてインデックスを削除します。
- レイヤーまたはテーブルから削除するインデックスの横にある [削除] ボタン