Lösning:
Ställ in default_language
och language_override
till samma bokstavliga värde (i ditt fall "en").
Hur jag kom hit...
Jag stötte på samma problem, även på Mongo 2.6.1.
I mitt fall skapade jag indexet med en language_override
pekar på ett språkfält där det redan fanns dokument med värden som inte stöds (t.ex. "ar" - arabiska).
Så här skapade jag indexet:
db.users.ensureIndex({
"displayName": "text",
"about": "text",
"email": "text"
}, {
"name": "users_full_text",
"default_language": "en",
"language_override": "language"
});
Jag hoppades att det skulle falla tillbaka till default_language
när language_override
värdet stöds inte, men uppenbarligen inte. Så här säger Mongo:
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 3,
"ok" : 0,
"errmsg" : "language override unsupported: ar",
"code" : 17262
}
OK, okej, så indexet skapades inte men jag borde kunna skapa det utan language_override, eller hur? Fel – mongo ger mig samma fel även om jag inte längre har specificerad language_override .
Det misslyckade försöket att skapa indexet verkar ha lämnat efter sig någon trasig version av indexet som inte dyker upp någonstans så jag kan inte släppa det (det visas inte i db.users.getIndexes() och att släppa det vid namn fungerar inte).
Till slut lyckades jag fixa indexet genom att ställa in language_override
till det bokstavliga värdet 'en', så här:
db.users.ensureIndex({
"displayName": "text",
"about": "text",
"email": "text"
}, {
"name": "users_full_text",
"default_language": "en",
"language_override": "en"
});
... som Mongo svarar:
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 3,
"numIndexesAfter" : 4,
"ok" : 1
}
Hurra.