【问题标题】:MongoDB Text Index on all Fields using Java使用 Java 在所有字段上的 MongoDB 文本索引
【发布时间】: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


【解决方案1】:

糟糕,我的 Java 驱动程序似乎不是最新版本。我得到了最新版本,现在它就像一个魅力。

始终从 maven 存储库下载您的库。

【讨论】:

    猜你喜欢
    • 2017-06-14
    • 2014-08-10
    • 2011-08-28
    • 1970-01-01
    • 2021-06-07
    • 2019-02-05
    • 2019-06-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多