【发布时间】:2014-08-15 08:51:25
【问题描述】:
我想在 MongoDB 中的所有字段上创建一个文本索引。我知道可以这样做:
db.collection.ensureIndex({ "$**": "text" },{ name: "TextIndex" })
但我想在我的 Java 程序中创建这个索引。我试过这个:
collection.createIndex(new BasicDBObject("$**","text"),newBasicDBObject("name","TextIndex"));
但它给了我这个错误:
com.mongodb.MongoException: Can't canonicalize query: BadValue unknown operator: $**
我不知道该怎么办。我可以看到其他人也问过类似的问题,但没有人回答。有谁能帮帮我吗?
提前致谢。
【问题讨论】:
-
文本搜索是一个相当新的功能。您是否可能使用过时版本的 java 驱动程序?或者甚至是 MongoDB 本身?文本搜索必须通过 2.4 中的配置参数启用,并且在之前的版本中不存在。
-
是的,我知道。我的 MongoDB 和 Java 驱动程序都是他们的最新版本。我可以在一个字段上创建索引并且它正在工作,但我想在所有字段上创建索引。
-
哦,看来我的 Java 驱动程序实际上不是最新版本。我得到了最新版本,现在它就像一个魅力。
标签: mongodb mongodb-java