[OK]を、Googleクラウドにこの写真を見る:複合インデックスを強制的にGoogle Cloudに表示するにはどうすればよいですか?
をそれは言っ
「以下は、このアプリケーションのための複合インデックスであるこれらのインデックスは、アプリケーションのインデックス設定ファイルで管理されている。。」
public static long getPropertyMaxIDStronglyConsistent(String entityName, String propertyName, Key parentKey){
// Order alphabetically by property name:
//Key parentKey=KeyFactory.createKey(parentEntityName, parentName);
Query q = new Query(entityName, parentKey).setAncestor(parentKey)
.addSort(propertyName, SortDirection.DESCENDING);
//List<Entity> results = datastore.prepare(q).asList(FetchOptions.Builder.withDefaults());
List<Entity> results = datastore.prepare(q)
.asList(FetchOptions.Builder.withLimit(5));
if(results.size()>0){
Entity e=results.get(0);
long maxID=(Long)e.getProperty(propertyName);
return maxID;
}
else{
return 0;
}
}
我々はこのfunctioを実行していることを仮定しますと、この次のコードを参照してくださいn1getPropertyMaxIDStronglyConsistent("EnglishClass", "ClassNo", KeyFactory.createKey("EnglishClassParent", "EnglishClassParentName"))
。私は「EnglishClassは」「提供」状態でインデックス表に表示されていない種類の場合は、はfunction1つもりな作業ではないことが判明何
。
私は何をしたのか分かりませんでしたが、数時間苦労した後、突然インデックス「EnglishClass」が登場しました。 「EnglishClass」のステータスが「」と表示された場合、問題なく正常に動作します。
私の質問は
複合インデックスどのようなものがありますか。
なぜ機能1を実行した直後に表示されませんでしたか?
ステータスは「表示」とは何ですか?
強制的に複合インデックスをGoogle Cloudに表示する方法?
エクストラ:私は
<datastore-indexes autoGenerate="true">
<datastore-index kind="EnglishClass" ancestor="true" source="auto">
<property name="ClassNo" direction="desc"/>
</datastore-index>
</datastore-indexes>
を持っている。しかし、それはまだApp Engineデータストア用
インデックスを手動で追加しましたが、「英語クラス」インデックスは表示されましたが、それでも機能しませんでした。なぜだか分からない? – Tum
質問のインデックスに手動で加えた変更を表示して、クエリに一致するかどうかを確認します。 – snakecharmerb
こんにちは、私は私の質問を更新しました。それはまだまだ働いていない!なぜだか分からない? – Tum