Senza addentrarmi in un lungo argomento che probabilmente non sarebbe adatto per un forum di programmazione, cercherò di trattarlo sostanzialmente, ma cercherò comunque di coprire i punti.
La cosa principale da considerare quando si passa a un confronto ampio è questa:"In che modo la ricerca full-text del motore di database relazionale 'XYZ' si confronta con Lucene" .
Quindi, se lo consideri e hai avuto esperienza con le funzionalità integrate di "testo completo" di quei prodotti, allora quelle sono le mele che dovresti confrontarsi con le mele "full text" di MongoDB.
In breve, MongoDB offre funzionalità di testo completo di base, non molto diverse da quelle che si trovano nei prodotti relazionali. Come menzionato in a:) , le strutture sono nuove, ma migliori di quelle che c'erano prima, che non erano niente.
Su b:) , Lucene e derivati/controparti (Solr / ElasticSearch, ecc.) dovrebbero essere considerati un animale completamente diverso. Dove hai bisogno tokenizzazione e stemming avanzati, strutture integrate per "Altro come questo" e sfaccettature conteggi sulle ricerche. In questi casi è necessario il prodotto separato.
Ovviamente ci sono diverse soluzioni in giro per l'indicizzazione dei dati dai negozi MongoDB in Lucene ecc., e anche personalizzare questo processo non è difficile. Ma sta mantenendo un'altra parte mobile nella tua infrastruttura.
Quindi non lo vedo davvero come una necessità di confronto Ricerca di testo MongoDB con Lucene, perché alla fine esistono per fare cose diverse, è solo una questione di ciò di cui hai bisogno per la tua applicazione. Scegli la soluzione più adatta a te.
L'unica cosa da aggiungere è che la famiglia Lucene (e derivati) sono ottimi prodotti. Non esitare a provarli, almeno per valutare. Il punto di prima è che c'è molto più potere di qualsiasi "ricerca di testo di database standard". Inoltre, l'amministrazione e la curva di apprendimento generalmente "non sono così difficili come pensi". Divertiti, potrebbe valere la pena implementarlo.