MongoDB 无法使用 DataGrip 为文本索引设置 default_language

MongoDB cannot set default_language for text index using DataGrip

我正在尝试为名为 test 的 mongodb 集合中的多个字段创建文本索引,但是当我 运行 DataGrip 中的这个脚本时

db.test.createIndex(
{"field1.subfield1": "text", "field1.subfield2": "text"},
{name : "my_test_index", default_language: "italian", weights:{"field1.subfield1": 2}})

抛出这个错误

com.mongodb.mongosh.result.CommandException: unrecognized index model field: default_language

我尝试 运行从 mongo shell 中的 .js 文件中调用此脚本,但没有成功。

经过其他测试后,我注意到文本索引的所有特殊选项都存在一些问题(default_languagelanguage_override, 权重, 等等)

MongoDB 实例信息

MongoDB shell version v4.4.3
  Build Info: {
    "version": "4.4.3",
    "gitVersion": "913d6b62acfbb344dde1b116f4161360acd8fd13",
    "openSSLVersion": "OpenSSL 1.1.1i 8 Dec 2020",
    "modules": [],
    "allocator": "tcmalloc",
    "environment": {
    "distmod": "debian10",
    "distarch": "x86_64",
    "target_arch": "x86_64"
  }
}

问题出在哪里?有什么想法吗?

问题可能是 DataGrip 或其驱动程序中的错误。

解决方案:使用 Compass 或 MongoDB Shell 有效

它没有在 Java 驱动程序中实现

我为它创建了一个问题https://youtrack.jetbrains.com/issue/DBE-12537

当我们发布带有修复的驱动程序时,我会在这里发表评论