2012-08-13 4 views
1

애플리케이션 (내부 작업 포털)에 Datastore 저수준 API를 사용하고 있습니다. 나는 다음과 같은 속성Google 데이터 스토어에서 효과적으로 엔티티를 검색하는 방법

Entity cadidate=new Entity("Candidate",getEmpNum()); 
    candidate.setProperty("name","some name"); 
    candidate.setProperty("skill","c++,Java,C#,GAE"); 
    candiate.setProperty("empNum"); 

속성 '기술'은 쉼표로 구분 된 문자열을 사용하여 후보라는 단체가있다. 인사가 "GAE, Java"키를 사용하여 후보자를 검색하는 경우 엔티티를 효과적으로 검색하려면 어떻게해야합니까? 다음 쿼리가 작동합니까? 위의 쿼리는 말에 작동하는 경우

q.addFilter(searchBy, FilterOperator.GREATER_THAN_OR_EQUAL, searchFor); 
    q.addFilter(searchBy, Query.FilterOperator.LESS_THAN, searchFor+"Z"); 

1000 엔티티는 데이터 저장소에 50,000 + 개체가있을 때 동일한 지연 시간 작동 ..does?

저를 제안하십시오 .. 내가 GAE 및 데이터 저장소

새로운 오전 엄마가

답변

3

당신은 목록 속성을 사용해야합니다 고마워요.

List<String> skills = Arrays.asList("c++", "Java", "C#", "GAE"); 
candidate.setProperty("skill", skills); 

IN 연산자를 사용하여 쿼리 :이

List<String> findSkills = Arrays.asList("Java","GAE"); 
q.addFilter("skill", FilterOperator.IN, findSkills);