2009-07-05 12 views
5

Necesito desarrollar un motor de búsqueda vertical como parte del sitio web. Los datos para el motor de búsqueda provienen de sitios web de una categoría específica. Supongo que para esto necesito tener un rastreador que rastree varios (unos cientos) sitios (en una categoría comercial específica) y extraer contenido y direcciones URL de productos y servicios. Otros tipos de páginas pueden ser irrelevantes. La mayoría de los sitios son pequeños o pequeños (unos cientos de páginas como máximo). Los productos tienen de 10 a 30 atributos.Desarrollo de un rastreador y un raspador para un motor de búsqueda vertical

Cualquier idea sobre cómo escribir un tal rastreador y extractor. He escrito algunos rastreadores y extractores de contenido utilizando las bibliotecas de ruby ​​habituales, pero no un motor de búsqueda completo. Supongo que, rastreador, de vez en cuando, se despierta y descarga las páginas de los sitios web. Se seguirá, por supuesto, el comportamiento cortés habitual, como comprobar las reglas de exclusión de los robots. Mientras que el extractor de contenido puede actualizar la base de datos después de leer las páginas. ¿Cómo sincronizo el rastreador y el extractor? ¿Qué tan estrechamente deben ser integrados?

+0

¿Se almacenarán los atributos de todos los sitios en la misma ubicación? Por ejemplo, tiene más de 30 columnas en una tabla de base de datos. – BenMaddox

Respuesta

1

En el contexto de la empresa-búsqueda que estoy acostumbrado a trabajar en,

  • rastreadores,

  • extractores de contenido,

  • índices de los motores de búsqueda (y la carga de su contenido en estos índices),

  • pudiendo consultar esos datos de manera eficiente y con una amplia gama de opciones de búsqueda erators,

  • interfaces de programación a todas estas capas,

  • opcionalmente, interfaces gráficas de usuario orientada hacia el usuario

son todos los temas separados.

(Por ejemplo, mientras que la extracción de información útil a partir de una página HTML VS archivos PDF VS MS Word son conceptualmente similares, la programación real para estas tareas son todavía muy obras en progreso para cualquier solución general.)

Es posible que desee ver el conjunto de herramientas de código abierto de Lucene, comprender cómo encajan unas con otras, y posiblemente decida que sería mejor aprender a usar esas herramientas (u otras, similares), que reinventar las muy grandes. complicar la rueda

Creo en los libros, así que gracias a su consulta, he descubierto este libro y lo acabo de ordenar. Parece una buena solución para una posible solución a la herramienta de búsqueda conumdrum.

http://www.amazon.com/Building-Search-Applications-Lucene-LingPipe/product-reviews/0615204252/ref=cm_cr_pr_hist_5?ie=UTF8&showViewpoints=0&filterBy=addFiveStar

Suerte y háganos saber lo que descubres y el enfoque de decidirse a tomar.

3

Nutch se basa en Lucene y ya implementa un rastreador y varios analizadores de documentos. También puede hook it to Hadoop para la escalabilidad.

Cuestiones relacionadas