Googleアプリケーションエンジンで実行しているJavaアプリケーションがあります。連絡先と呼ばれる種類があります。アプリエンジンのデータストアとテキスト検索のモデリングを設計する最良の方法
両方のデータストアおよびテキスト検索で、次のサンプル・スキーマ
Contact
{
long id
String firstName
String lastName
...
}
上記はexistigモデルであるが、いくつかの要件をサポートするために、我々はこのオブジェクトを格納している今、私たちは自分のページビューデータとの接点を統合したいです。
各コンタクトは、いくつかの連絡先にも、ページビューを記録または数百万、数千を持つことができます
次のサンプルページを訪問オブジェクトである[注:私たちは、今のところ、このオブジェクトを持っていない、これはただの情報を与えていますページの訪問]
PageVisit
{
long id
String url
String refUrl
int country
String city
....
}
我々が接触コアプロパティでクエリを必要とし、彼のページは、元のため
データを訪れた要件、持っている:
をselect * from Contact where firstName = 'abc' and url = 'cccccc.com';
select * from Contact where firstName = 'abc' or url = 'cccccc.com';
この種のクエリを書くには、コンタクトのコアプロパティとそのページの訪問者の両方がコンタクトオブジェクト自体で利用可能である必要がありますが、コンタクト は膨大なページビューを持つ必要があります。これはエンティティの最大サイズ制限を超えます
データストアとテキスト検索の両方でこのような状況で連絡先モデルを設計する方法です。