所以我尝试在我的本地环境(我自己的电脑中的Mongo)中为西班牙语索引一些项目,使用这样的权重:
db.news.createIndex({
title: "text",
description: "text"
}, {
default_language: "spanish"
}, {
weights: {
title: 10,
description: 5
},
name: "SpanishIndex"
});
现在问题是它似乎不起作用,这是我的Robo3t索引屏幕:
名称和密钥不匹配
权重不匹配
答案 0 :(得分:1)
您实际上将“选项”错误地指定为三个单独的对象,而它应该是一个。
Usage From Documentation: db.collection.createIndex(键,选项)
所以你应该删除创建索引并重新正确创建:
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
}