gpt4 book ai didi

node.js - Mongoose,无法使用 default_language : 'none' 创建文本索引

转载 作者:行者123 更新时间:2023-12-04 08:44:02 27 4
gpt4 key购买 nike

我尝试使用 $text 创建搜索功能和 $search在 mongoose 中,但是当查询遇到 mongodb english 时卡住了 stop words .我尝试将我的 default_language 更改为 none 以忽略 stop words list 但后来我意识到我无法更改 default_language。
我想知道我的 Mongoose 总是用 default_language: english 创建索引的方式,即使我直接使用 default_language: 'none' .
这是我的代码:

kataSchema.index({ kata: "text" }, { default_language: 'none' });
然后当我打开 mongo shell 并输入 db.katas.getIndexes() 时,它总是向我显示:
[
{
"v" : 2,
"key" : {
"_id" : 1
},
"name" : "_id_"
},
{
"v" : 2,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "kata_text",
"background" : true,
"weights" : {
"kata" : 1
},
"default_language" : "english",
"language_override" : "language",
"textIndexVersion" : 3
}
]
我还尝试删除 mongo shell 中的索引并再次运行我的代码,但它仍然使用英语作为其 default_language。
我想念什么吗?我已经到处寻找它,但仍然找不到问题。谢谢你的建议。
Mongoose 版本:“^5.10.0”

最佳答案

我猜问题来自 .index 本身.. 使用 createIndexes 反而。
在您模型的架构中,试试这个:

.
.
.
const Kata = mongoose.model('Kata', kataSchema);
Kata.createIndexes({ kata: "text" }, { default_language: 'none' });

关于node.js - Mongoose,无法使用 default_language : 'none' 创建文本索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64422472/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com