问题描述
我正在尝试在MongoDB中创建一个text index。我尝试索引的字段是捷克语(cs),不支持(因为未列出here)。
即使停用词和其他特定于语言的功能无法正常使用,我仍然希望为其编制索引。但是我遇到了错误。这是我尝试过的:
db.myCollection.createIndex( {"translate.cs.content" : "text"} )
我还尝试更改默认语言:
db.myCollection.createIndex( {"translate.cs.content" : "text"},{"default_language" : "none"} )
db.myCollection.createIndex( {"translate.cs.content" : "text"},{"default_language" : "en"} )
{
"ok" : 0,"errmsg" : "Index build Failed: <...>: Collection myDatabase.myCollection( <...> ) :: caused
by :: language override unsupported: cs","code" : 17262,"codeName" : "Location17262"
}
这就是我所需要的,我只需要能够在长字符串中搜索确切的单词。有什么方法可以使Mongo忽略该语言?
解决方法
我通过添加一个language_override
来解决此问题。
db.myCollection.createIndex( {"translate.cs.content": "text"},{default_language: "none",language_override: "none"} )
原因是我在数据中的其他位置还有一个名为language
的字段。