ParseQuery.whereContainedIn()不返回任何结果

时间:2019-01-22 05:16:57

标签: java android parse-platform

首先,我知道之前曾问过一个类似的问题,关于whereContainedIn()vs whereMatches(),但这并不能解决我的问题。我正在尝试实现一种简单的搜索算法,其中ParseQuery检查内容中是否存在任何一个关键字(我稍后再验证它是否具有至少50%的关键字)。但是,当我先调用query.whereContainedIn()然后再调用query.count()时,即使计数应返回1,计数也将返回0。我的数据库中有一篇文章,其中包含文本lorem ipsum dolor sit amet......。我的搜索关键字是lorem。下面的代码:

ParseQuery<ParseObject> query = ParseQuery.getQuery("Essays");
String[] keywords = text.toLowerCase().split(" ");
final ArrayList<String> list = new ArrayList<>(Arrays.asList(keywords));
String TAG = "mishare";
Log.d(TAG, "doQuery: " + Arrays.toString(list.toArray()));
final ArrayList<Essay> rvList = new ArrayList<>();
query.whereContainedIn("content", list);
done = false;
try {
    count = query.count();
} catch (ParseException e) {
    e.printStackTrace();
}

我之前已经检查过并确保String数组和ArrayList中的关键字有效且正确输入

1 个答案:

答案 0 :(得分:0)

好吧,所以我发现不用使用query.whereContainedIn(),我可以简单地使用query.whereMatches()使它工作。