俄语mongodb中的全文搜索

俄语mongodb中的全文搜索,mongodb,full-text-search,Mongodb,Full Text Search,我尝试在mongodb中使用全文搜索: > db.collection.insert({"text" : "Первый второй третий"}) > db.collection.insert({"text" : "первый Второй третий"}) > db.collection.insert({"text" : "первый второй Третий"}) > db.collection.ensureIndex({"text" : "text"

我尝试在mongodb中使用全文搜索:

> db.collection.insert({"text" : "Первый второй третий"})
> db.collection.insert({"text" : "первый Второй третий"})
> db.collection.insert({"text" : "первый второй Третий"})
> db.collection.ensureIndex({"text" : "text"}, {"default_language" : "russian"})
句子只有字母大小写不同

> db.collection.runCommand("text" , {search : "первый"})
{
        "queryDebugString" : "перв||||||",
        "language" : "russian",
        "results" : [
                {
                        "score" : 0.6666666666666666,
                        "obj" : {
                                "_id" : ObjectId("516acfe2dbfd90a837e09131"),
                                "text" : "первый Второй третий"
                        }
                },
                {
                        "score" : 0.6666666666666666,
                        "obj" : {
                                "_id" : ObjectId("516acfe8dbfd90a837e09132"),
                                "text" : "первый второй Третий"
                        }
                }
        ],
        "stats" : {
                "nscanned" : 2,
                "nscannedObjects" : 0,
                "n" : 2,
                "nfound" : 2,
                "timeMicros" : 86
        },
        "ok" : 1
}

结果只包含两个条目,但应该是三个条目。在英语中,一切都很好。

这是已知的文本搜索限制,因为它存在于MongoDB 2.4中。出于文本搜索的目的,MongoDB将把每个字符“ABCDEFGHIJKLMNOPQRSTUVWXYZ”(POSIX语言环境中设置的“大写”字符)视为其小写等效字符,但它将把其他UTF-8代码点视为唯一的


UTF-8的全盒折叠支持将在未来发布;请参阅JIRA中的相关票证。

我认为这是因为搜索实际上不区分大小写,或者说索引不区分大小写。但是在文档中,它是不区分大小写的()。或者它只适用于英语?@rill它可能只对英语区分大小写吗?很糟糕,text-seach还不支持俄语。UTF-8的大小写折叠支持是在3.2版本的文本索引中发布的。