Sto cercando di ottenere la ricerca full text mongodb con più campi di lavoro. Ho impostato l'indice su 3 campi-nome, descrizione, categoria, e verificato conricerca testo mongodb con più campi
document.collection.getIndexes()
, che RITORNI a
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "document.collection"
},
{
"v" : 1,
"key" : {
"name" : 2,
"description" : 1,
"category" : 1
},
"name" : "name_2_description_1_category_1",
"ns" : "document.collection",
"background" : true,
"safe" : null
}
]
Ora, se provo a eseguire una ricerca, utilizzando la follwing Comando
db.collection.find( {$text:{$search:'alias'}} ).limit(10)
ha ottenuto il seguente messaggio di errore:
error: {
"$err" : "Unable to execute query: error processing query: ns=document.collection limit=10 skip=0\nTree: TEXT : query=alias, language=, tag=NULL\nSort: {}\nProj: {}\n planner returned error: need exactly one text index for $text query",
"code" : 17007
}
Ho provato i documenti di google e mongodb ma non sono riuscito a trovare nulla.
Questo non è un indice di testo. Il nome avrebbe "testo" dopo ogni nome di campo e altri indicatori. –