que tengo un conjunto de términos de búsqueda como [+ perro - "Jack russels" + "fox terrier"], [+ gato + persa - tabby]. Estos pueden ser bastante largos con quizás 30 términos secundarios que componen cada término.análisis de un gran cantidad de texto basado en un juego constante de términos de búsqueda
ahora tengo algunas noticias en línea artículos extractos tales como ["Mi fox terrier es el perro más lindo del mundo ..."] y ["¿Alguien ha visto a mi gato persa perdido? Desapareció ... "]. No son demasiado largos, tal vez 500 caracteres como máximo cada uno.
En los motores de búsqueda tradicionales se espera una gran cantidad de artículos preprocesados en índices, lo que permite aceleraciones al buscar 'términos de búsqueda', utilizando la teoría de conjuntos/lógica booleana para reducir artículos a solo los que coinciden las frases. En esta situación, sin embargo, el orden de mis términos de búsqueda es ~ 10^5, y me gustaría poder procesar un solo artículo a la vez, para ver TODOS los conjuntos de términos de búsqueda con los que coincida el artículo (es decir, todos los términos + están en el texto y ninguno de los - términos).
Tengo una posible solución utilizando dos mapas (uno para las frases secundarias positivas, uno para las frases secundarias negativas), pero no creo que sea muy eficiente.
El primer premio sería una biblioteca que resuelve este problema, el segundo premio es un empujón en la dirección correcta para resolver esto.
Saludos cordiales,
¿Puedes explicar por qué quieres hacer esto? Puede haber una solución mejor ... – beerbajay
¿Cuál es tu problema? ¿Qué hiciste hasta ahora? –
Usted podría estar interesado en http://stackoverflow.com/questions/5695826/compound-queries-with-redis - el enfoque que utilicé para eso pareció funcionar bien para mí. Redis es eficiente en el uso de memoria mínima, por lo que puede ser una opción. –