2012-02-29 8 views
6

El requisito es que tengamos muchas búsquedas guardadas, y cuando entren nuevos documentos, queremos poder encontrar qué búsquedas guardadas coinciden con estos nuevos documentos, y poder notificar a los creadores de estas búsquedas guardadas en tiempo real.¿Cómo implementar escasamente algo así como las alertas de Google?

¿Algo así ya es compatible en cualquiera de los populares motores de búsqueda y bibliotecas de software libre, ya sea incorporado o como un complemento? Si no, ¿cuál es la mejor manera de hacerlo de una manera eficiente y escalable?

Supongo que la idea general debería ser indexar las búsquedas guardadas como si fueran documentos, y usar los documentos entrantes como consultas para buscarlas. Pero no he resuelto exactamente cómo hacer esto.

También es mejor si podemos establecer las mínimas restricciones en los operadores de consultas compatibles como sea posible.

Gracias de antemano.

+2

Sé que no es lo que pediste, pero si no estás 100% casado con Solr, puedes darle una oportunidad a Elasticsearch - la función de filtro hace lo que estás pidiendo - http: //www.elasticsearch .org/guide/reference/java-api/percolate.html – mopoke

Respuesta

0

¿Qué hay de hacer lo contrario -

  • Mantener búsquedas en alguna otra base de datos con información específica de usuario en lugar de Solr.
  • Indexe el documento nuevo, de modo que esté disponible para todas las búsquedas posteriores
  • Vuelva a ejecutar todas las consultas guardadas en el documento después de la suma, para comprobar si coincide con el documento.

Además, Solr admite una amplia gama de soporte de consultas para que pueda verificarlo.

Cuestiones relacionadas