안녕하세요. 내 쿼리로 주문하려고하면 DatastoreNeedIndexException이 발생합니다.Appengine : "order by"를 사용하는 DatastoreNeedIndexException
@PersistenceCapable
public class Gaze {
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
@Persistent
Blob image;
@Persistent
Long time;
@Persistent
Long TTL;
@Persistent
String town;
@Persistent
String countryCd;
@Persistent
String tag;
쿼리 :
Query query = pm.newQuery(Gaze.class, "tag == tagParam");
query.declareParameters("String tagParam");
//query.setRange(0,10);
query.setOrdering("time desc");
List<Gaze> results = (List<Gaze>) query.execute(tag);
및 인덱스 :
<datastore-indexes autoGenerate="false">
<datastore-index kind="Gaze" ancestor="false">
<property name="tag" direction="asc" />
<property name="time" direction="desc"/>
<property name="TTL" direction="desc" />
</datastore-index>
난 정말 어디를보고 모르는 여기
는 코드입니다. 주문을 삭제하면 개체가 기본 키순으로 정렬됩니다.
mg 그게 다야. 인덱스가 배포보다 시간이 오래 걸렸다는 것을 알지 못했습니다. 이 문제는 =) –
문제가 해결되었습니다! 참으로 천천히 일 수 있습니다! 이제, anwser '허용'표시를 고려하시기 바랍니다 ... – olivierlemasle
얼마나 걸립니까? –