Docs Menu

geoHaystack Indexes

重要

MongoDB 5.0 で削除

MongoDB 5.0では、非推奨の geoHaystackインデックスとgeoSearchコマンドが削除されます。 代わりに、 またはサポートされている$geoNear 地理空間クエリ演算子 のいずれかを使用した2 d インデックス を使用してください。

MongoDB インスタンスを 5.0 にアップグレードし、featureCompatibilityVersion5.0 に設定すると、既存の geoHaystack インデックスがすべて削除されます。

geoHaystackインデックスは、小さな領域の結果を返すように最適化された特別なインデックスです。 geoHaystackインデックスを使用すると、平面ジオメトリを使用するクエリのパフォーマンスが向上します。

球状ジオメトリを使用するクエリの場合、 haystack インデックスよりも 2dsphere インデックスの方が優れたオプションです。 2dsphere インデックス ではフィールド順序の変更が可能です。 geoHaystackインデックスでは、最初のフィールドはロケーション フィールドである必要があります。 また、 geoHaystackインデックスは コマンドでのみ使用できるため、常にすべての結果を一度に返します。

geoHaystack インデックスは、その領域に限定されたクエリのパフォーマンスを向上させるために、同じ地理的領域のドキュメントの「バケット」を作成します。 geoHaystackインデックス内の各バケットには、指定された経度と緯度に近接する範囲内のすべてのドキュメントが含まれます。

geoHaystack インデックスはデフォルトでスパースであり、 sparse: trueオプションを無視します。 ドキュメントにgeoHaystackインデックス フィールドがない場合(またはフィールドがnullまたは空の配列である場合)、MongoDB はドキュメントのエントリーをgeoHaystackインデックスに追加しません。 挿入の場合、MongoDB はドキュメントを挿入しますが、 geoHaystackインデックスには追加しません。

geoHaystack インデックスには、1 つのgeoHaystackインデックスキーと 1 つの非地理空間インデックスキーが含まれます。ただし、インデックスがドキュメントを参照するかどうかは、 geoHaystackインデックス フィールドのみによって決定します。

geoHaystack インデックスは単純なバイナリ比較のみをサポートしており、照合 はサポートしていません。

単純ではない照合順序を持つコレクションにgeoHaystackインデックスを作成するには、インデックスの作成時、 {collation: {locale: "simple"} }を明示的に指定する必要があります。

geoHaystackインデックスを作成するには、「 Haystack インデックスの作成」を参照してください。 haystack インデックスのクエリに関する情報と例については、「 Haystack インデックスのクエリ 」を参照してください。