私は不動産アプリを扱っています。 Aホームは、価格、ベッドルーム、バスルーム、SqFt、ロットサイズなどの典型的な特性を有するでしょう。ユーザーは家を検索します。そのようなクエリは、xとyの間の価格、zより大きい部屋、 pよりも...等Google Datastore - 検索の最適化手法
私は複数の不等式フィルタが許可されていないことを知っています。私はまた、私のコードでフィルタリングを実行したくない/私はカーソルを使用できるようにするためです。
私は2つのソリューションを考え出しました。私はこれらが正しいかどうか確信していません - もし専門家が光を放つことができるかどうか疑問に思ってください。
解決策1:私は各属性の値を離散し、リストフィールドに保存してからINを使います。例:3ベッドルームがある場合、ベッド= 3を格納する代わりに、ベッド= [1,2,3]を格納します。今、ユーザーが少なくとも2つの寝室を持つ家を探している場合、フィルターをbeds> 2として書くのではなく、フィルターを "beds IN [2]"と書いてみましょう - そして私の家は[1,2,3] 2ベッド[1,2]または4ベッド[1,2,3,4]などのいずれの家も同様です。
解決策2:これは最初のものと似ていますが、 list-propertyでは、実際に属性(列)を家に追加します。 3ベッドルームの家には、次の属性/列/プロパティがあります。col-bed-1:true、col-bed-2:true、col-bed-3:true今、ユーザーが少なくとも2つの寝室を持つ家を探している場合、フィルターをベッド> 2として書くのではなく、フィルターを "col-bed-2 = true"と書いて、私の家は適格になります。 1. 2. 性能とGoogleの価格設定の観点からの両方があります優れている1:2つのベッド、3つのベッド、4つのベッド、そう
に私は両方のソリューションが動作します知っているが、私は知りたいと家これを行うためのよりよい解決法ですか?
精度を制限しない限り、これは価格では機能しません(たとえば、離散$ 50ごとに) –