Buscar términos en oraciones con python

Tengo varias oraciones almacenadas en MongoDB y varios diccionarios de términos (cada término está compuesto por una o más palabras). Quiero buscar términos en oraciones, pero es muy lento intentar hacer coincidir cada término en cada oración, y esto será una coincidencia exacta. ¿Cómo podría hacer fácilmente una coincidencia aproximada o algo así para encontrar mis términos en las oraciones?

Por ejemplo, los servicios administrativos de

Frase:

Polimorfismo Ala394Thr en el gen reloj NPAS2: un modificador circadiano del riesgo de linfoma no Hodgkin

Diccionario:

Ala394 Thr | NPAS-2 | Linfoma de Hodgkin

Y el resultado debería ser:

Ala394 Thr polimorfismo en el gen del reloj NPAS2: un modificador circadiano del riesgo de noLinfoma de Hodgkin

preguntado el 22 de mayo de 12 a las 10:05

Agregue algunos documentos de ejemplo, eso hace que sea más fácil responder la pregunta. -

1 Respuestas

Probablemente le sugiero que eche un vistazo a los motores de búsqueda dedicados como Solr o ElasticSearch. Son mucho más adecuados para este tipo de tareas.

Echa un vistazo a https://github.com/renctan/mongo-solr sobre cómo hacer esto con oplog tailing.

contestado el 22 de mayo de 12 a las 16:05

¿Es posible combinar Solr o ElasticSearch con mongoDB? - nathan

Por supuesto, solo tendrá que enviar todos los cambios a Solr y ElasticSearch también. - Derick

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.