sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Text Index Error:språköverstyrning stöds inte

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.



  1. Sätt in i mongodb med perl

  2. Hur man separerar redis-databas för samma två app i node.js

  3. Keras förutspår inte att återvända till selleriuppgiften

  4. Implementera autoslutförande på MongoDB