0

GoogleAppEngineの検索APIのドキュメントの概念を理解しようとしています。私が問題を抱えている概念は、ドキュメントの保存の背後にある考え方です。たとえば、私のデータベースにこれがあるとしましょう。

class Business(ndb.Model):
   name = ndb...
   description = ndb...

ビジネスごとに、名前と説明を全文検索できるようにドキュメントを保存しています。私の質問は次のとおりです。

  1. これは正しいですか?これらは、検索可能にするために、基本的に各エンティティを2つの異なる場所に2回保存していることを意味しますか?

  2. 上記の答えが「はい」の場合、それを行うためのより良い方法はありますか?

  3. また、1番目の答えが「はい」の場合、ドキュメントはどこに保存されますか?ハイレップDSに?

この概念について正しく考えていることを確認したいだけです。ドキュメントにエンティティを保存するということは、各エンティティを2つの別々の場所に保持する必要があることを意味します...検索可能に保つためだけに最適とは思えません。

4

1 に答える 1

3

あなたはそれがすでにうまくいった。

全文検索の概要

Search APIを使用すると、アプリケーションで構造化データに対してGoogleのような検索を実行できます。いくつかの異なるタイプのデータ(プレーンテキスト、HTML、アトム、数値、日付、および地理的な場所)を検索できます。検索では、一致するテキストのソートされたリストが返されます。結果の並べ替えと表示をカスタマイズできます。

データストア内のモデルのコンテンツの「内部」を検索することはできないため、検索APIはテキストとHTMLに対してそれを実行する機能を提供します。

したがって、検索可能なテキストドキュメント(製品の説明など)をデータストア内のモデル(製品の価格など)にリンクするには、ドキュメントと関連するデータストアオブジェクトの間に「手動で」リンクを作成する必要があります。検索APIとデータストアは互いに完全に独立して使用できるため、それを組み込む必要があります。AFAIKには、それらの間に自動リンクはありません。

于 2013-03-07T14:10:46.687 に答える