我正在尝试使用Java构建MongoDB的查询,但是当我运行查询时,出现了"无法规范化查询:BadValue过多的文本表达式"错误。
数据库中充满了具有用于全文搜索的文本属性的文档。我试图构建一个查询,以查找与queryList中的一个或多个查询匹配且在一定时间范围内的任何文档。如果queryList中只有一个查询,则可以正常工作,但是如果有多个查询,则会失败。
有什么想法吗?
BasicDBList queryList = new BasicDBList();
for(String queryString : queryStrings)
{
queryList.add(new BasicDBObject("$text", new BasicDBObject("$search", queryString)));
}
BasicDBObject queries = new BasicDBObject("$or", queryList);
DBObject query = QueryBuilder.start()
.and(endpointQuery,
QueryBuilder.start().put("time").greaterThan(minTime).get(),
QueryBuilder.start().put("time").lessThan(maxTime).get())
.get();
DBCursor cursor = tweets.find(query);
queries
对象来执行查询,而且endpointQuery
没有定义。这些应该有相同的名称,还是查询的其他部分? - mnemosyn