1
我的文檔:
{
name: 'mcrtwrtretca'
}
我的指數:
{
"v" : 2,
"key" : {
"_fts" : "text",
"_ftsx" : 1
},
"name" : "$**_text",
"ns" : "mydb.cvs",
"background" : true,
"weights" : {
"$**" : 1
},
"default_language" : "english",
"language_override" : "language",
"textIndexVersion" : 3
}
查詢1:
db.getCollection('cvs').find({$text: {$search: 'mcrtwrtretca', $language: 'english'}})
返回1項。
查詢2:
db.getCollection('cvs').find({$text: {$search: 'mcrtwrtretca', $language: 'swedish'}})
返回0項。
查詢3
db.getCollection('cvs').find({$text: {$search: 'mcrtwrtretca', $language: 'dutch'}})
返回1項。
如果我在結尾處刪除'a'所有三個返回結果。
我不明白。不管$language
是什麼,如果有完全匹配,它會不會總是一炮走紅?
請告訴我點,然後到指定的查詢語言? – Per
除非查詢中的語言與文檔中的語言匹配,否則不存在。當兩者相同時,相同的後綴詞幹和停用詞規則同時適用於文檔和查詢,從而導致更準確的文本搜索。例如。如果您將文檔更改爲「{」name「:」mcrtwrtretca「,」language「:」swedish「}',那麼當您將查詢語言指定爲」瑞典語「時,它將返回搜索詞」mcrtwrtretc「和」mcrtwrtretca「 」。 –