1

我正在为应用程序(内部工作门户)使用 Datastore 低级 API。我有一个名为Candidate的实体,具有以下属性

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

属性 'skill' 采用逗号分隔的字符串。如果 HR 使用键 "GAE,Java" 搜索候选人,我如何有效地搜索实体?以下查询有效吗?

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

如果上述查询适用于 1000 个实体 ..当数据存储区中有 50,000 + 个实体时,它是否具有相同的延迟?

请建议我.. 我是 GAE 和 Datastore 的新手

-谢谢马

4

1 回答 1

4

您应该使用列表属性。

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);

于 2012-08-13T12:28:10.840 回答