I'm looking forward to having the following scenario implemented to allow for some very multi-language oriented documents. I'm sure it's not a simple matter however.
db.text.ensureIndex({
'text.body': 'text'
}, {
language_override: "text.language"
})
db.text.insert({
'text': [{
'language': 'english',
'code': 'en_US',
'body': 'howdy howdy howdy'
}, {
'language': 'spanish',
'code': 'es_MX',
'body': 'hola hola hola'
}
]
})
db.text.runCommand( "text", { search: "hola", language: "spanish" } )
{
"results" : [ ],
...
"ok" : 1
}
db.text.runCommand( "text", { search: "hola" } )
{
"results" : [
{
"score" : 1.75,
"obj" : {
"_id" : ObjectId("5193f38b5dcd189ac143047d"),
"text" : [
{
"language" : "english",
"code" : "en_US",
"body" : "howdy howdy howdy"
},
{
"language" : "spanish",
"code" : "es_MX",
"body" : "hola hola hola"
}
]
}
}
],
....
"ok" : 1
}
Of course the following would be a test case as well:
db.text.ensureIndex({
'text.en_US.body': 'text',
'text.es_MX.body': 'text'
}, {
default_language: "english"
})
db.text.insert({
'text': {
'en_US': {
'language': 'english',
'body': 'howdy howdy howdy'
},
'es_MX': {
'language': 'spanish',
'body': 'hola hola hola'
}
}
})