gaeのgooglesearchapiでmemcacheとdatastoreのインデックスを使用しています。実際の問題は、エンティティが削除されたにもかかわらず、エンティティがまだインデックス内にあるように見えるため、エンティティが削除された後にデータストアインデックスを更新する方法です。また、memcacheとインデックス開始に「同じ」データセットの内容が大きく異なる場合、つまりmemcache、データストアインデックス、またはデータストアラウンドトリップから表示できるエンティティのリストが含まれている場合、より仮想的なシナリオをどのように処理する必要がありますか?
質問する
69 次
1 に答える
1
最初の問題については、エンティティのキーをインデックスのdoc_idとして使用することをお勧めします。ドキュメントへの参照があるため、pre_delete_hookで削除できます。このようにして、データを最新の状態に保つこともできます。既存のdoc_idを持つ新しいドキュメントをインデックスに追加すると、既存のドキュメントが上書きされるためです。(たとえば、対応する検索ドキュメントを作成するpost_put_hookを使用する)2つ目は、このような状況に遭遇しないようにする方が、最新の状態に保つことで解決しようとするよりもおそらく良いでしょう。
于 2013-03-07T19:33:12.750 に答える