【发布时间】:2015-05-23 14:04:52
【问题描述】:
我需要在两个字段上创建复合文本索引。我正在使用java驱动程序。我找到了有关如何为复合字段而不是文本索引创建索引的示例。如何使用 java 驱动程序实现这一目标
【问题讨论】:
标签: mongodb mongodb-java
我需要在两个字段上创建复合文本索引。我正在使用java驱动程序。我找到了有关如何为复合字段而不是文本索引创建索引的示例。如何使用 java 驱动程序实现这一目标
【问题讨论】:
标签: mongodb mongodb-java
类似于以下代码行的东西应该可以解决问题(未经测试):
BasicDBObject obj = new BasicDBObject();
obj.put("name", 1);
obj.put("comment", "text");
collection.ensureIndex(obj);
【讨论】:
我建议使用自 java 驱动程序 3.1 版本以来存在的驱动程序 DSL,它也可用于指定索引选项,例如语言、背景等...:
MongoCollection<Document> myCollection = db.getCollection("my-collection");
myCollection.createIndex(
Indexes.compoundIndex(
Indexes.ascending("name"),
Indexes.text("comment")),
new IndexOptions()
.defaultLanguage("es")
.background(true));
【讨论】: