首页 > 解决方案 > ParseQuery.whereContainedIn() 不返回任何结果

问题描述

首先,我知道之前有人问过关于 whereContainedIn() 与 whereMatches() 的类似问题,但这并没有解决我的问题。我正在尝试实现一个简单的搜索算法,其中 ParseQuery 检查内容中是否存在任何一个关键字(我稍后会验证它是否具有至少 50% 的关键字)。但是,当我调用 query.whereContainedIn() 和 query.count() 时,计数将返回为 0,即使它应该返回 1。我在数据库中有一篇文章,其中包含文本 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中的关键字有效且输入正确

标签: javaandroidparse-platform

解决方案


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


推荐阅读