Sto cercando su Google da giorni e ho provato molte cose, ma non riesco ancora a eseguire una buona ricerca di testo completo sulla mia collezione di utenti.Il modo migliore per eseguire una ricerca a testo completo in MongoDB e Mongoose
ho provato elasticsearch ma era abbastanza impossibile per interrogare e impaginare ...
ho provato molti plugin per Mongoose come ElMongo, mangusta-full-text, Mongoosastic, ecc ... tutti sono davvero male mi sono documentato e non so come eseguire una buona ricerca a tutto testo.
Quindi, la mia collezione è un insieme normale:
user = {
name: String,
email: String,
profile: {
something: String,
somethingElse: String
}
}
Ho un input di ricerca in una pagina con un semplice POST
, se di tipo I hello world
quello che mi serve è quello di cercare l'intera collezione i campi di corrispondenza parole della mia query di ricerca e ottenere i risultati.
Sarà davvero bello anche avere opzioni per gestire un'impaginazione come 10 articoli per pagina o qualcosa del genere ...
Qual è la soluzione migliore per raggiungere questo obiettivo? Sto usando MongoDB 2.6. * Con Mongoose, NodeJS e ExpressJS.
Grazie.
Grazie per la risposta. Non riduce le prestazioni di MongoDB facendo questo? Un'altra domanda per favore: posso anche scegliere i campi da indicizzare? –
@AyeyeBrazo Ho aggiornato l'anser per mostrare come scegliere i campi da indicizzare. L'aggiunta di qualsiasi indice aggiunge un sovraccarico durante gli inserimenti e gli aggiornamenti, nonché i requisiti di archiviazione aggiunti, in modo che sia sempre necessario prendere in considerazione. – JohnnyHK
dopo una lunga ricerca, la tua risposta è re! –