首先,我知道之前曾问过一个类似的问题,关于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中的关键字有效且正确输入
答案 0 :(得分:0)
好吧,所以我发现不用使用query.whereContainedIn()
,我可以简单地使用query.whereMatches()
使它工作。