sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB búsqueda de texto completo vs Lucene?

Sin entrar en un tema largo que probablemente no sería adecuado para un foro de programación, intentaré cubrir esto básicamente, pero intentaré cubrir los puntos.

Lo principal que se debe tener en cuenta al realizar una comparación amplia es lo siguiente:"¿Cómo se compara la búsqueda de texto completo del motor de base de datos relacional 'XYZ' con Lucene?" .

Entonces, si considera eso y ha tenido experiencia con las capacidades integradas de "texto completo" de esos productos, entonces esas son las manzanas que debería se comparará con las manzanas de "texto completo" de MongoDB.

En resumen, MongoDB ofrece capacidades básicas de texto completo, no muy diferentes a las que se encuentran en los productos relacionales. Como se menciona en a:) , las instalaciones son nuevas, pero mejores que lo que había antes, que era nada.

En b:) , Lucene y derivados/contrapartes (Solr/ElasticSearch, etc.) deben considerarse un animal completamente diferente. Donde necesitas tokenización avanzada y derivación, instalaciones integradas para "Más como esto" y recuentos de facetas en búsquedas. En esos casos el producto separado es una necesidad requerida.

Por supuesto, existen varias soluciones para indexar datos de las tiendas MongoDB en Lucene, etc., e incluso personalizar este proceso no es difícil. Pero es mantener otra parte móvil de su infraestructura.

Así que realmente no veo esto como una necesidad de comparar Búsqueda de texto MongoDB con Lucene, porque finalmente existen para hacer cosas diferentes, solo es cuestión de lo que necesitas para su aplicación. Elija la solución que sea mejor para usted.

Lo único que hay que agregar es que la familia Lucene (y sus derivados) son excelentes productos. No dudes en darles una oportunidad, al menos para evaluar. Los puntos anteriores son que hay mucho más poder allí que cualquier "Búsqueda de texto de base de datos estándar". Además, la curva de administración y aprendizaje generalmente "no es tan difícil como crees". Haga una jugada, puede valer la pena implementarlo.