Mongodb 未与语言一起应用的文本索引权重和其他选项

Mongodb 未与语言一起应用的文本索引权重和其他选项,mongodb,indexing,Mongodb,Indexing,因此,我尝试在本地环境Mongo中,在我自己的PC中,使用如下权重为一些西班牙语项目编制索引: db.news.createIndex({ title: "text", description: "text" }, { default_language: "spanish" }, { weights: { title: 10, description: 5 }, name: "

因此,我尝试在本地环境Mongo中,在我自己的PC中,使用如下权重为一些西班牙语项目编制索引:

db.news.createIndex({
      title: "text",
      description: "text"
    }, {
      default_language: "spanish"
    }, {
      weights: {
        title: 10,
        description: 5
      },
      name: "SpanishIndex"
    });
现在的问题是,它似乎不起作用,以下是我的Robo3t索引屏幕:

名称和键不匹配

重量不匹配


实际上,您错误地将选项指定为三个单独的对象,而它本应是一个对象

db.collection.createIndexkeys,选项

因此,您应该删除创建索引并正确地重新创建:

db.news.dropIndexes();
db.news.createIndex(
  { title: "text", description: "text" },
  { 
    default_language: "spanish",
    weights: { title: 10, description: 5 },
    name: "SpanishIndex"
  }
)
然后将显示正确应用的选项:

  {
        "v" : 2,
        "key" : {
            "_fts" : "text",
            "_ftsx" : 1
        },
        "name" : "SpanishIndex",
        "ns" : "test.news",
        "default_language" : "spanish",
        "weights" : {
            "description" : 5,
            "title" : 10
        },
        "language_override" : "language",
        "textIndexVersion" : 3
    }