ホームページ > バックエンド開発 > Golang > App Engine Datastore でプレフィックス付きの文字列を検索するにはどうすればよいですか?

App Engine Datastore でプレフィックス付きの文字列を検索するにはどうすればよいですか?

Barbara Streisand
リリース: 2024-10-24 06:46:02
オリジナル
1070 人が閲覧しました

How to Find Strings with Prefixes in App Engine Datastore?

App Engine データストアでの検索: プレフィックス付きの文字列の検索

概要:

名前フィールドが始まるエンティティの検索特定の文字列を使用することは、データ クエリにおける一般的な要件です。 Google App Engine Datastore はこれを実現する方法を提供しますが、すぐには分からないかもしれません。この記事では、そのようなクエリを作成する方法を示し、他の App Engine サービスでの代替ソリューションを検討します。

問題ステートメント:

「名前が始まる場所を取得しようとしました」フィルター クエリを使用して特定の文字列を使用しましたが、機能しません。この機能はデータストアでサポートされていますか?サポートされていない場合、考えられる回避策は何ですか?"

クエリの構築:

プレフィックス クエリの背後にある直感は、名前がプレフィックス文字列より大きいエンティティをフィルターすることです。ただし、不等式フィルターを 1 つだけ使用すると (名前 > "a")、プレフィックスで始まる名前を持つすべてのエンティティが除外されるため失敗します。

解決策は、2 つの不等式フィルターを組み合わせることにあります。名前がプレフィックス文字列以上であり、次の辞書編集文字列より小さいことを指定する必要があります。

クエリの例:

次の場所を取得してみましょう。 "li" で始まる:

q = datastore.NewQuery("Places").Filter("Name >=", "li").Filter("Name <", "lj")
ログイン後にコピー

説明:

  • 最初のフィルターは、Name が "li" 以上であることを確認します。
  • 2 番目のフィルターは、名前が "li" の次の辞書編集文字列である "lj" より小さいことを指定して、"li" 自体を除外します。

代替ソリューション:

このアプローチが特定の要件を満たさない場合、App Engine は高度なクエリ用の他のサービスを提供します。

  • BigQuery: SQL 構文を活用し、効率的なクエリをサポートします。大規模なデータセットに対するクエリ。
  • BigTable: 時系列データとリアルタイム分析に適したスケーラブルな高性能データベース。

以上がApp Engine Datastore でプレフィックス付きの文字列を検索するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート