7

Google AppEngine がクエリごとにサポートする不等式フィルタは 1 つだけであることを理解しています。この制限の回避策は何ですか? 同様の効果をもたらすソリューションはありますか?

4

3 に答える 3

3

実際、GAE は同じプロパティにある限り、複数の不等式フィルターをサポートします。

この制限の回避策はデータ固有のものです。たとえば、データの構造やクエリの方法によって異なります。たとえば、@Dan Holevoet が述べたように、地理検索の場合、さまざまな地理ハッシュ アルゴリズムがあります。基本的に、このようなアルゴリズムはすべて、複数のプロパティを 1 つに結合し、同時にプロパティを量子化する (離散値を作成する) ことを伴います。たとえば、ジオハッシュには、等値演算子を介して検索できるようにするために、世界地図を小さな固定サイズの領域に分割する (= 緯度/経度と量子化を組み合わせる) ことが含まれます。

于 2012-05-30T06:08:26.663 に答える
1

クエリごとに 1 つの不等式フィルターを使用するための回避策があるかどうかは、クエリ対象のデータセットの種類によって異なります。

たとえば、緯度と経度の住所を使用して位置データを照会する場合、通常は 2 つのプロパティ (緯度と経度) の値の範囲を照会する必要があります。ただし、ジオハッシュアルゴリズムを使用すると、単一のプロパティのみを使用して同等のクエリを実行できます。

于 2012-05-30T02:50:49.203 に答える
0

私がこの問題を解決するとき(検索範囲の例 - から)、単一の不等式フィルターでクエリを使用します。並べ替え順 (昇順または降順) に応じて、上限または下限を選択します。その後、クエリフィルターにない下限または上限を使用してプログラムで結果をフィルター処理します。

于 2012-05-30T11:40:21.000 に答える