2014-12-22 15 views
5

Sto cercando di creare un indice di testo per l'implementazione della ricerca di testo in mongodb usando nodejs.Come text index in mongodb using nodejs

Es:

db.collection("test").ensureIndex(
         { 
          name: 'text', 
          description: 'text' 
         }, 
         { 
          weights: { name: 10, description: 20 }, 
          name: 'test' 
         }, function(err, data){ 

       // here err is null, and data is "test" 

}); 

Dopo di che sto cercando di ottenere informazioni di questo indice con il nome "test", che mi sta dando di dati come

{ v: 1, 
    key: { _fts: 'text', _ftsx: 1 }, 
    ns: '53b3e49b31afd3d3354886b7_rajeshdemo.test', 
    name: 'test', 
    weights: { description: 1, name: 1 }, 
    default_language: 'english', 
    language_override: 'language', 
    textIndexVersion: 1 
} 

Non sta prendendo informazioni sul peso.

Come posso creare l'indice di ricerca testo in mongodb (versione 2.6) utilizzando nodejs?

+0

Se esiste già un indice che corrisponde alla specifica della chiave fornita ({nome: 'testo', descrizione: 'testo'), quindi 'ensureIndex' non ricreerà l'indice con nuove opzioni. Hai provato a rilasciare l'indice e quindi a garantire nuovamente? – Stennie

+0

Sì, sto abbandonando l'indice di testo prima di chiamare ensureIndex. – rajeshpanwar

risposta

0

Ho trovato la soluzione.

Attualmente sto utilizzando il driver nodejs mongodb 1.4.5. Dopo aver aggiornato la versione alla 1.4.9, sta funzionando bene.