sql >> Databasteknik >  >> NoSQL >> MongoDB

Är MongoDB ett giltigt alternativ till relationell db + lucene?

Tekniskt sett kan du göra fulltextsökning med MongoDB, men du går miste om mycket som en fulltextsökleverantör har att erbjuda. Jag älskar MongoDB, men jag skulle koppla det till en fulltextsökleverantör (som Lucene eller Sphinx) om tiden till implementering överhuvudtaget är ett problem. Jag tror att MongoDB:s bekväma förmåga att indexera ordmatriser är bättre att överlåta till taggning och sökning baserat på taggning än fulltextsökning.

Sökning (informationshämtning) handlar inte bara om att ta tag i alla dokument som matchar, om du vill att dina sökresultat ska ha någon som helst relevans behöver du något i stil med TF-IDF, frasmatchning (ord i en sekvens poäng högre) eller valfritt antal andra IR-tekniker för att förbättra sökprecisionen. Om du använder MongoDB måste du implementera allt från grunden.

Om du verkligen vill implementera allt från grunden men inte bry dig om den råa lagringssidan av saker, är MongoDB ganska nära den bästa DB-butiken som du kan implementera den ovanpå (kan inte tänka på många andra), men det gör det fortfarande inte till ett bra alternativ.



  1. Introduktion till Redis

  2. Mongoose:Sortera efter kapslat fält

  3. MongoDB på Azure:Hur man väljer rätt instanstyp?

  4. Inkludera fält i mongodb-aggregat