3

Appengine Search APIを使用して、ユーザーがそれぞれ独自のスキーマを持つ複数のデータセットに対してクエリを実行できるようにしようとしています。すなわち:

ユーザーは複数のデータセットにアクセスできます。各データセットには多くの行があります。各データセットには一連の列があります。各列には名前とタイプがあります。データセット全体の列には名前の衝突があり、それらの衝突には異なるタイプがあります。

ユーザーが検索APIへの1つのクエリですべてのデータセットを検索できるようにしたいと思います。各データセットの各行のドキュメントを作成する場合、各データセットのすべてのフィールドを結合すると、1000を超える異なるフィールド(フィールド=列)が存在する可能性があります。

どうすればこれを回避できますか?または、複数のインデックス(データセットごとに1つ)を作成して複数のリクエストを発行する必要がありますか?これらの複数のリクエストを並行して発生させることはできますか?このアプローチの短所/コストは何ですか?

4

1 に答える 1

0

基礎となるフレームワークは同じであるため、開始点としてはPythonドキュメントが適しています。ここでJava側としてのYMMVはまだ実験的であると言っています。

すべてのレコードがドキュメント内で同じタイプである必要はありません。必要なのはdocument_idからオブジェクトに移動する方法だけなので、ここでは<tableId>:<objectId>で問題ありません。ただし、ドキュメントによると、

現在、特定のインデックススキーマごとに1000個の名前付きフィールドの制限があります。

だからそれはあなたにとって問題かもしれません。列の一致を気にしない場合は、オブジェクトを1つの文字列でドキュメントに変換し、そこからテキスト検索を実行するだけです。そうすれば、すべてを1つの列にまとめることができます。次に、document_idから<tableId>:<objectId>を取得し、データストアからデータをフェッチできます。

于 2012-09-18T00:14:45.867 に答える