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

标签 java mongodb

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

DBCollection coll;
String searchString = "Test String";

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

我正在执行搜索的 Collections 的名称是 blogcomments。 creatIndex() 是已弃用的方法 ensureIndex() 的替代方法。我看过有关如何使用 createIndex() 的示例,但没有看过如何使用 Java API 执行实际搜索。这是执行此操作的正确方法吗?

最佳答案

这不太正确。使用“文本”类型索引的查询无法在查询时指定字段名称。相反,要包含在索引中的字段名称是在创建索引时指定的。请参阅the documentation举些例子。您的查询将如下所示:

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

关于java - 使用 Java 驱动程序的 MongoDB 文本索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29149719/

相关文章:

node.js - 将 MongoDB 从本地主机迁移到服务器

Node.js 集群和以 mongodb 作为存储的 socket.io

mongodb - PyMongo:我应该使用单个客户端还是多个客户端?

java - 在接口(interface)中使用 Java 泛型来强制实现以实现类型作为参数的方法

java - @PatchMapping 的用例

java - Remember Me with Spring Security 3.1.3 - 弃用的默认构造函数

mongodb - ssh端口转发时如何解析远程服务器的域名

JavaFX 8 + Spring Boot,打印 API 不显示页面设置

java - Java Generic Type 参数可以扩展另一个 Type 参数和附加的有界类型吗?

mongodb - MongoDB 中的联接查询