Question

I am using Datastore low level APIs for an application (Internal job portal). I have an entity called Candidate with following properties

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

The property 'skill' takes the a comma seperated string. If an HR do a search for a candidate with a key "GAE,Java" , how do I effectively search for entities? will the following query works?

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

If the above query works on say 1000 Entities ..does it work with same latency when there are 50,000 + entities in the datastore?

Please suggest me .. I am new to GAE and Datastore

-thanks Ma

Was it helpful?

Solution

You should use list property.

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

then query with IN operator:

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

This

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top