领域搜索多列 - Java Android

时间:2016-06-30 15:31:38

标签: android realm

我想搜索与Realm中两列组合匹配的所有记录。我想根据名称搜索Users

class User extends RealmObject {
    ...
    String firstName;
    String lastName;
    ...
}

用户列表:John Doe, John Abraham, Joseph Kurvil

搜索查询ohn D
预期结果=> John Doe

搜索查询ohn
预期结果=> John Doe, John Abraham

提前致谢。

1 个答案:

答案 0 :(得分:2)

虽然不支持连续字段搜索,但您可以拆分firstNamelastName的搜索字词,并使用beginGroupendGroup将必要的查询分组在一起以查看如果整个单词,例如ohn D被包含在内。例如,

realm.where(User.class).where()
     .beginGroup()
         .contains("firstName", "ohn")
         .and()
         .beginsWith("lastName", "D")
     .endGroup()
     .findAll();

希望这有帮助