使用Java驱动程序的MongoDB文本索引

时间:2015-03-19 16:13:29

标签: java mongodb

使用MongoDB Java API,我无法使用文本搜索成功找到完整的示例。我正在使用的代码是:

DBCollection coll;
String searchString = "Test String";

coll.createIndex(new BasicDBObject ("blogcomments", "text"));
DBObject q = start("blogcomments").text(searchString).get();

我正在进行搜索的我的收藏品名称是blogcomments。 creatIndex()是已弃用方法ensureIndex()的替换方法。我已经看到了如何使用createIndex()的示例,但没有看到如何使用Java API执行实际搜索。这是正确的做法吗?

1 个答案:

答案 0 :(得分:1)

那不太对劲。使用" text"类型的索引的查询在查询时无法指定字段名称。相反,要在索引中包含的字段名称是在索引创建时指定的。有关示例,请参阅the documentation。您的查询将如下所示:

DBObject q = QueryBuilder.start().text(searchString).get();