¿Cómo construir un motor de búsqueda desde cero? ¿Cuál es la mejor pila tecnológica para esto?

Un motor de búsqueda de bricolaje que sería algo utilizable debería funcionar así. Estoy modelando esto en un modelo que construí de Google hace unos años.

Físico

  1. En primer lugar, necesitas algunos servidores. La cantidad dependerá de cuánto contenido planea indexar
  2. Necesitarás una conexión a internet
  3. Deberías tener un firewall
  4. Debe tener un firewall de aplicaciones web para proteger sus datos. Presentación de los servicios de firewall de aplicaciones web integradas LoadMaster de KEMP
  5. Necesitará un equilibrador de carga para sus servidores de aplicaciones, tanto el editor web como posiblemente sus servidores de bases de datos, equilibradores de carga, lo que le dará zen a su estrategia de SEO integral.

Aplicaciones: la aplicación web de búsqueda

  • Nota: la mayoría de las personas piensan que la búsqueda y la clasificación ocurren cuando haces una búsqueda. En realidad ya está hecho. Para que la búsqueda sea tan rápida, la capa de búsqueda solo devuelve los siguientes 10 resultados de una lista que comienza en la posición 1, y la única lógica aplicada es (a) se eliminan las páginas geográficas específicas, (b) las comprobaciones de QDF extraen elementos según una fecha y el rango de tiempo y (c) los datos en tiempo real se extraen de una cola que lo tiene listo para funcionar
  • Esencialmente, desea romper la interfaz de usuario HTML de la lógica empresarial y las bases de datos (el índice)
  • Me imagino un nivel 3 en el que tienes una aplicación web Apache (o IIS) muy básica que permite al usuario ingresar una consulta de búsqueda y luego dispara la aplicación de búsqueda que envía los resultados a otra segunda interfaz de usuario. De esa manera, si hay una demanda máxima, básicamente puede desconectar los servidores de operación del usuario del servidor de búsqueda en funcionamiento
  • La capa de lógica de negocios: la “búsqueda” simplemente debe tener 2 funciones
  • Función A: pelar la cadena de búsqueda en una consulta de palabras sin valor (a, the, an, y, it, is) donde se busca cada palabra y una segunda consulta donde se obtiene en diferentes% de completitud. Por ejemplo, una búsqueda de “cuánto cuesta un iphone” sería [mucho o no o iphone o costo] y también [mucho o no o iphone] y [mucho o no o costo]
  • La consulta se entrega al siguiente analizador de búsqueda disponible. El analizador de búsqueda se conecta al siguiente servidor de base de datos disponible. aquí es donde entra en juego el equilibrio de carga: si un solo servidor deja de responder, el equilibrador de carga simplemente lo elimina de la cola y conecta el siguiente servidor en buen estado disponible
  • El analizador solicita los 10 resultados principales con esas palabras y se le proporciona una lista de ID de clave que coinciden con una URL
  • La magia del orden de rango no se establece durante la búsqueda: la búsqueda es el tramo final

Aplicaciones – Lista de rastreo

  1. Necesita una lista de URL, que debería marcar con las últimas fechas rastreadas, el tiempo de rastreo / velocidad de la página, el estado permitido de robots e índice meta
  2. También querrás almacenar un rango y una ubicación geográfica y un identificador de idioma
  3. Sus servidores de rastreo hacen el trabajo inteligente
  4. La lista de rastreo se compone de una multitud de fuentes, que incluyen: rastreo y procesamiento de archivos y páginas que se encuentran en un servidor, dentro de un archivo (es decir, enlaces de otras páginas), desde URL a las que accede un navegador, una aplicación de barra de herramientas o una página de envío en tu aplicación de búsqueda
  5. Por último, almacenaría una matriz de lista de las páginas que enlazan con esta página y un valle de esas páginas que a su vez se basa en la cantidad de enlaces que tienen. También puede incorporar algún tipo de función de penalización / spam en este momento
  6. Entonces tendría una lista de fuentes en tiempo real, por ejemplo, sitios de noticias en los que permite el envío directo de URL (por ejemplo, mire pingomatic para WordPress: ¡Ping-o-Matic!)
  7. Recuerde que las URL enviadas ahorran tiempo; por lo tanto, si tiene un indicador o protocolo de confianza establecido, las URL confiables se rastrearán automáticamente más rápido, ya que se dedica menos tiempo a la detección. Una vez que lo rastrea, lo marca como rastreado, por lo tanto, si la URL se encuentra durante otro proceso, bueno, a menos que su fecha de actualización no haya pasado, no es necesario volver a rastrearla.
  8. Entonces tendría un planificador que sería una vista o tabla de esos datos en términos de qué páginas y dominios se priorizan primero
  9. Necesitaría varios rastreadores si intentara indexar la web o una gran parte de ella
  10. algunos servidores funcionarán en una lista dedicada: cuando la lista esté completa, volverán al principio
  11. Otros servidores iniciarán un rastreo basado en minutos, horas o días; de esa forma, el contenido muy popular / autoritario o de uso frecuente se mantiene muy actualizado, y se agregan e indexan rápidamente nuevas páginas.
  12. El contenido marginal en sitios de baja autoridad podría demorar semanas / meses en rastrearse. Y eso es un poco tramposo pero funciona

Rastreo y procesamiento

  • Cada página debe ser solicitada. La marca de fecha incluye una marca de hora de inicio y finalización
  • Nuevamente, el equilibrio de carga es útil aquí porque puede enrutar la respuesta del servidor rastreado a un proceso diferente, esencialmente un receptor de archivos HTTP. Debido a que hay muchos servidores lentos y a que muchos otros servidores se vuelven lentos, debido a que aloja demasiados sitios, obstrucción de la red, mala arquitectura, no desea que el solicitante de rastreo se demore, debe enviar miles de millones de URL a los servidores web como peticiones Al divorciarse de la función de solicitud y recepción, elimina los cuellos de botella. Los servidores de recepción de archivos pueden aceptar muchos servidores de respuesta lenta porque la demanda de datos es baja. Se pueden separar otros servidores para servidores altamente receptivos porque alcanzarán rápidamente los recuentos máximos de conexión. Una vez más, los equilibradores de carga distribuirán eso entre esos servidores en función de pesaje, round robin, comprobación de estado
  • Otro rastreador usará buenas consultas de directorio de servidor a la antigua para ver si el servidor web muestra archivos y listas de carpetas y creará pseudo URL y los agregará a la lista de rastreo
  • Supongo que una vez que la página se guarda en un área de almacenamiento en caché o en etapas, múltiples procesos la toman en lugar de un gran procesador secuencial. A veces puede ver el impacto de esto cuando durante una búsqueda, un resultado contiene más información en su “fragmento” que en una búsqueda un poco anterior
  • Cuando se descarga una página, total o parcialmente después de un tiempo de espera establecido en función del tiempo y los reintentos, todas las aplicaciones que escanean, procesan e indexan páginas se atascan en
  • Un escáner de idiomas determinará el idioma en función de la búsqueda de un diccionario.
  • la página está desprovista de scripts y formatos HTML. Los que se guardan son los que necesita para determinar la relevancia. Es probable que esto incluya el título de la página, el contenido (que es todo texto que no es muy sencillo)
  • Un tipo de escáner clave es aquel que buscaría fallas en el código y la seguridad, en cualquier lugar y similares.
  • Me imagino que también tendrías un escáner de correo no deseado que solicita una copia y escaneo en busca de cosas muy spam
  • Otro analizador crearía una página de búsqueda: contenido eliminado
  • Cada aplicación funciona de forma independiente y algunas tardan más que otras (aunque esto realmente es una fracción de segundo)
  • Además, cualquier javascript, archivos no html, imágenes, etc. se bloquean automáticamente, incluso si el servidor web remoto / cliente los envía, se enrutan a un puerto diferente que es esencialmente un agujero negro nulo o digital.
  • Me imagino que los servidores que reciben archivos aplicarán un proceso para presentar el HTML en un formato bajo pero que proporcione el mismo producto básico mínimo viable para cada sniffer o analizador. Por ejemplo, si recibe el fragmento , podría reemplazar palabras complicadas con un lenguaje simplificado. Por ejemplo, podría reemplazar cada instancia de automóvil, automóvil y automóvil con solo “automóvil”
  • Nuevamente, en lugar de solo una cola, me imagino que los equilibradores de carga pueden establecer el orden en función de la importancia
  • Luego tiene servidores muy grandes que despliega rápidamente detrás o muy por delante de la curva de la creciente cantidad de datos que planea indexar (nuevamente, modelando en Google). Estos solo procesan todas las páginas de clasificación inferior que no están marcadas como muy importantes. Por lo tanto, puede gestionar la frecuencia de contenido muy importante de forma muy aguda. Si su QDF, noticias, feed de Twitter: contenido de gran volumen representa el 10% de contnet y luego aumenta repentinamente, simplemente toma otro 5% de sus “servidores generalistas” y los enruta hasta que termine ese punto de aumento. Si el tiempo total para actualizar es en promedio 3 semanas y luego un día nota que la actualización más larga fue de 5 semanas, entonces solo necesita agregar un 20% de capacidad adicional en algún momento. No lo está agregando de inmediato porque sus servidores de indexación instantánea tienen escala automática
  • La escala automática brinda elasticidad para superar las demandas, y es por eso que divide los componentes en procesos no asíncronos que no dependen de cada componente para terminar. Construye colas de trabajo basadas en el conjunto más pequeño de procedimientos que deben completarse en el mismo orden, la lista muy minimalista que puede.
  • Otro ejemplo sería un sniffer de URL que también solicita una copia de la página. En primer lugar, tomará las URL y luego agregará las páginas KID a los registros de las URL a las que se vincula, según un estándar acordado por la industria como nofollow, que evitará que ese KID regrese como un enlace. El sniffer también mirará el texto de anclaje en ese enlace. Ya sea que esa página tenga o no ese texto, el sniffer lo registrará en un índice de relevancia. Un hilo o proceso separado consultará en base a un diccionario de sinónimos
  • y luego ocurre la magia: un indexador listará las URL principales en todas las listas. Imagine una lista llamada “iphone” y en ella se encuentran todas las páginas del mundo con la palabra iphone, un recuento de la frecuencia con la que aparece, en qué países es relevante, en qué idioma es. basado en las señales que necesita su algoritmo, inmediatamente puntúa esa página
  • La página también se agrega a otras señales sonoras / amenazantes similares
  • Recuerde, en este punto, su copia de índice de la web es solo cientos de tablas de una sola palabra: automóvil, libro, iphone, bolígrafo, mouse, dell, servidor, kemp, carga, equilibrador
  • Algunos índices abarcarán errores ortográficos y si aparece una consulta para el equilibrador, se ejecutará igual que el equilibrio o puede mantenerlos separados y puntuar las páginas más o menos según la versión de esa palabra que sea más o menos relevante. Me imagino que Google comenzó con esto y ahora tiene una versión híbrida donde algunos están colapsados ​​(unidos) y otros están separados

La aplicación de resultados

Cada consulta procesada se asignará a un conjunto de resultados. la entrada en esto es la frase de consulta, el país y cualquier configuración de personalización que necesite saber. Los resultados del índice se vuelven a clasificar según corresponda.

Servidor de anuncios

Un servidor de anuncios enumerará los KID de cualquier anuncio y las palabras clave y negativos negativos. Cuando la consulta se pasa al servidor de resultados, el servidor de anuncios obtendrá una copia de esa solicitud y devolverá el HTML al servidor web de la aplicación de resultados, que devolverá una página HTML al usuario con los resultados orgánicos y pagos. Todo eso se hace en 0.0001 segundos o más rápido si es posible

El núcleo de un motor de búsqueda es un índice inverso.

Entonces, imaginemos la web como una base de datos hipotética. Puede pensar en la web como una tabla de 2 columnas: URL y contenido de la página. La URL contiene la URL de una página, y el contenido de la página contiene su contenido. La URL es la clave principal. Escribe la URL en su navegador, el navegador busca la clave principal en la base de datos, obtiene la fila y le muestra el contenido de la página. ¿Buen derecho?

Bueno, no es bueno para la búsqueda! ¿Por qué? Porque si está buscando pizza, tendrá que revisar todos los registros y escanear la columna de contenido de la página de cada fila para encontrar la palabra pizza. Mal no? Tiene un rendimiento de O (n), y cuando estás hablando de la web, esa n se hará grande.

¿Entonces, Qué haces? Volteas esta mesa. Haga que el contenido de la página sea la clave y la URL el valor. No solo hace esto, sino que divide el contenido de la página en términos individuales y crea un registro para cada término.

Entonces, digamos, tienes 3 páginas web muy pequeñas que dicen

  1. http://yummypizza.com – Pizza italiana
  2. http://yummierpizza.com Pizza siciliana
  3. http: //sexyshoes.com-&nbsp ; Zapatos italianos

Nuestra mesa ahora se ve así

Italiano: http://yummypizza.com , http://sexyshoes.com
Pizza – http://yummypizza.com , http://yummierpizza.com
Siciliano – http://yummierpizza.com
Zapatos – http://sexyshoes.com

Ahora, cuando alguien busca Pizza , simplemente busca el registro de Pizza y obtiene las dos páginas web. El motor de búsqueda más rápido del mundo, ¿verdad? Todo lo que necesita hacer es buscar un registro. ¡Allí, venciste a Google!

¡Pero espera!. ¿Qué pasa si alguien busca pizza italiana? Ooooh Lo que puede hacer es encontrar las URL que son comunes entre la primera entrada y el segundo centinela. Hablando matemáticamente, estás realizando una intersección de 2 conjuntos. Entonces, necesita algún tipo de algoritmo que pueda hacer una intersección rápida a través de grandes conjuntos de datos
Ahora lo has comprendido. Compre algunos miles de servidores, venza a Google en su propio juego. ¡Sí!

¡Pero espera! ¿Qué pasa si alguien busca en Italia Pizza? ¿Quieres que aparezca pizza italiana verdad? oooh
Por lo tanto, debe expandir sus términos usando sinónimos. Esencialmente, necesita un diccionario de sinónimos (palabras agrupadas por significado). Luego, cuando inserta registros en una fila, inserta los registros en ella; sinónimos. Entonces, tu mesa se ve así

Italia – http://yummypizza.com , http://sexyshoes.com
Italiano: http://yummypizza.com , http://sexyshoes.com
Pizza – http://yummypizza.com , http://yummierpizza.com
Siciliano – http://yummierpizza.com
Zapatos – http://sexyshoes.com

¡Ahora estás listo para vencer a Google! ¿Estás buscando inversores? porque estoy ahi!

Pero espera, ¿qué pasa si alguien busca ? Quiero pizza italiana . y su página web para pizza italiana no tiene las palabras “Quiero”. Bueno, no tiene sentido buscar “yo” y “querer”, ¿verdad? Por lo tanto, debe arrojar algunas palabras de la entrada. Estos se llaman palabras de parada. Entonces, “Quiero pizza italiana” se convierte en “Pizza italiana”. Todo lo que necesitas es un diccionario de palabras vacías. Incluso puede usar esto para evitar que las personas busquen con malas palabras

¿Listo para vencer a Google? Inversionistas Angel todas las líneas?

No, espera. La gente comete errores ortográficos. Hay algoritmos que convierten las palabras en códigos en función de cómo suenan. Puede convertir todos los términos en código soundex y convertir su término de búsqueda en soundex. Si no tiene suficientes resultados cuando busca sin soundex, vuelve a soundex

¡Excelente! ¡Ahora estoy listo para gobernar el mundo!

Pero, espera, ¿qué pasa con el ranking? Cuando habla de mostrar millones de resultados, lo que muestra como primer resultado es importante. Entonces, ¿cómo los clasificas? ¿Alfabéticamente? ¡cojo! Ordenado por tiempo? ¡cojo! ¿O qué tal si la palabra Pizza aparece más veces en la página web y la clasifica más alto? (Y luego la gente de SEO llenará la página con PIzza Pizza Pizza Pizza … Alguien recuerda los días en que los expertos en SEO le pedirán que ponga un montón de mierda en su página)

¡No puede dejar que el usuario elija su propia clasificación! Porque recurrir a millones de personas matará a su servidor. Entonces, se te ocurre tu propia forma de clasificar los resultados y almacenas físicamente los registros en ese orden. Esto significa que puede leer su columna parcialmente y no tiene que ordenar en cada búsqueda.

Aquí es donde no puedes vencer a Google, debido al algoritmo de pagerank de Google. Eso es patentado, y esa es la salsa secreta de Google

Por supuesto, es posible que no desee competir con google. Es posible que esté creando un motor de búsqueda para buscar en su biblioteca de libros de texto, ¿verdad? Sin embargo, el problema central de clasificar algorítmicamente los resultados de búsqueda es muy difícil de precisar. Puede descubrir que su clasificación depende de lo que esté buscando. Aquí es donde la mayoría de los motores de búsqueda tienen problemas. Y es por eso que Google básicamente venció a cualquier otro motor de búsqueda web

Por cierto, no tiene que implementar todo esto usted mismo. Solr, que se basa en Lucene, proporciona todo esto. Debe proporcionar los datos y decidir cómo clasificar sus resultados.

Solr y Nutch son una buena manera de comenzar y aprender, pero rápidamente descubrirá que rastrear toda la web es bastante costoso tanto desde el punto de vista del rastreo como luego de proporcionar acceso a los datos en un marco de tiempo que lo hace útil. Además, la parte difícil de la búsqueda es el procesamiento real de los datos antes de ponerlos en el índice. La búsqueda es un poco como la madriguera del conejo en Alicia en el país de las maravillas, ¡cuanto más la miras, más profunda es! Lo sorprendente de Google es que comprende el contexto.
Por ejemplo, una búsqueda en el libro de la biblioteca podría arrojar resultados basados ​​en campos como el título o la descripción, posiblemente, ya que Google sabrá que lo que ha buscado es un libro y devolverá resultados de compras, información sobre el autor y comentarios de otras personas, y lo hace. ¡esto para millones de objetos físicos, personas, información e incluso listas de cine!
Entonces, para rastrear la web, debe tener rastreadores, como Nutch, que recopilen toda la información. Luego, procese de manera que esté en una estructura de datos que pueda agregarse a un índice como solr. Para entonces, tiene MUCHOS datos, por lo que el índice será enorme y, por lo tanto, para cualquier tipo de rendimiento necesita un gran grupo de máquinas en un sistema distribuido. Es una gran tarea pero posible. Solo necesita comenzar de a poco y demostrar su idea en un subconjunto de la web.

Bueno, he usado un proyecto de código abierto llamado Fess (Open Source Enterprise Search Server: Fess), que se basa en Solr y un rastreador. Es muy fácil de construir, solo instala y ejecuta el rastreador, y ahí tienes: un motor de búsqueda.

Estos enlaces pueden ayudarlo en su proyecto Solr / Nutch.

  • Web arrastrándose con Apache Nutch
  • Cómo instalar Nutch en un AWS EC2 Cluster
  • Indexe la web con AWS CloudSearch
  • Toda la web rastreando Apache Nutch usando un clúster Hadoop / HBase – Hadoop MapReduce v2 Cookbook – Segunda edición

Para rastreadores:

  • Use una hermosa sopa para raspar y arrastrarse en Python
  • Rastrear y raspar páginas web con Scrapy y Python 3

Yo personalmente uso Perl y MySQL para mi motor de búsqueda, eso es bastante escalable si no contiene toda la página web. Dentro del motor de búsqueda, utilicé módulos Perl como DBI para conectarme al servidor MySQL y CGI. Apache es el servidor web que uso para servir el script CGI y los archivos HTML.

Actualización 9/6/2017: ahora uso Solr y PHP (con Solarium) para alimentar mi otro motor de búsqueda aquí.

Diseñé un rastreador web y contraté a un ex ingeniero de Altavista para codificar mi rastreador de búsqueda Mohawk, y si lo desea, puedo enviárselo como referencia. Está codificado en Perl. Solo envíame un mensaje si estás interesado. 🙂

Atentamente,
Tsubasa Kato

Hay cuatro actividades principales en un motor de búsqueda: rastreo, indexación, clasificación y publicación de consultas.

Para rastrear, no tiene sentido molestarse en hacer el suyo, ya que hoy en día hay muchas buenas opciones de código abierto como Nutch, Scrapy, Heritrix, etc. actualizado regularmente

Actualización 01/04/2018: En 2017, un nuevo rastreador entró en escena: Descripción general (BUbiNG 0.9.14). Puedo confirmar que actualmente son el mejor rastreador abierto del mercado, ya que utilizan una arquitectura multiproceso muy optimizada con miles de subprocesos para lograr un rendimiento de más de 30 MB / so miles de páginas / s. Dichos números son espectaculares y significan poder rastrear 100–200 millones de páginas / día, lo cual es una gran velocidad. (RENUNCIA: No estoy afiliado a ellos de ninguna manera, solo un usuario satisfecho). Casi puedo saturar la conexión de 1 Gbps con tres de estos rastreadores, que se ejecutan en máquinas HP DL160 Gen8 con dos Intel Xeon E5–2680 CPUS, más de 64 GB de RAM y cuatro discos duros cada uno.

Para indexar, no confíe en herramientas externas, es mejor escribir su propio indexador ya que aprenderá de qué se trata la búsqueda. Solo tenga en cuenta que la indexación no es ciencia espacial, un índice es simplemente una colección de listas de resultados para palabras clave y N-gramos (frases). Se trata de empacar esta colección de manera eficiente, y hacer que la búsqueda e inserción de nuevas entradas sea rápida y eficiente, teniendo en cuenta que se intercambian entre sí. Probablemente prestará más atención a la búsqueda rápida, aunque las aplicaciones más nuevas, como las sociales, son más intensas en escritura.

Definitivamente querrá hacer su propia clasificación, comenzando con una implementación simple de Pagerank que desee modificar y experimentar, por ejemplo, con probabilidades de enlaces de salida no uniformes de enlaces en páginas. No es tan difícil ejecutar Pagerank de manera eficiente incluso en grandes conjuntos de datos, necesitará implementar algunas particiones de bloque bastante básicas. Después de eso, comience a experimentar con diferentes heurísticas para elementos de página y enlace, como títulos, encabezados, textos de anclaje, frecuencias de términos, etc.

Finalmente, para el servicio de consultas, haga cosas bastante básicas, por ejemplo, particiones de documentos simples en algunas máquinas con cierta previsión de cómo escalarlas más adelante.

Hoy en día es concebible llenar un índice simple (digamos unos KB por página) de más de mil millones de páginas en una sola máquina con múltiples unidades de TB y mucha RAM, 32 GB como mínimo. Si es más aventurero, agregue un SSD para la capa media y optimícelo para las lecturas de almacenamiento en caché, con escrituras poco frecuentes.

Es posible que un solo programador dedicado lo haga en 6-12 meses. ¡Diviértete y cuéntanos cómo resultó!

Depende de lo que quieras decir con “construir”. Tiene poco sentido construirlo desde cero a menos que sea como un ejercicio académico. Debería echar un vistazo a https://www.elastic.co/products o http://lucene.apache.org/solr/ . Cualquiera de estas plataformas ofrece más que suficiente para comenzar y son de código abierto, por lo que podrá aprender en el caso poco probable de que alguna vez necesite construir una desde cero.

Tengo uno que ha existido durante casi 20 años y podría usar a alguien para extenderlo …

Empieza aqui…

Una búsqueda no indexada es simple. Simplemente hojeando archivos de texto.

Mostrar esas coincidencias en contexto o solo líneas coincidentes. Con hi-lites.

próximo

Catalogo las imágenes y videos y archivos de audio y esos datos de texto se usarán para seleccionar y reproducir aleatoriamente un segmento de video o canción aleatorio …

Una búsqueda no indexada como esta tiene muchas capacidades que los indexadores no …

Quiero ver los primeros 3 segundos de todos mis videoclips para verificar su integridad.

Es fácil.

Quiero buscar archivos extremadamente grandes, esta aplicación hace eso y puedo crear un archivo de extracción de esos resultados.

La reproducción de video está controlada por 2 líneas de texto. El primero contiene el punto de inicio / velocidad de reproducción / duración, etc. El segundo es la ruta a dicho archivo.

11000 líneas de código de espagueti en VB5.0 deberían ser bastante fáciles de tomar y poner en otro idioma.

Hay un montón de características en las que incluso necesito volver a entrenar …

Toma este código y vete.

[1] La fuente

[2] El ejecutable

[3] Diagrama de flujo página 1

[4] Diagrama de flujo página 2

[5] El sistema de tiempo de ejecución msvbvm50.dll

http://www.telusplanet.net/publi

Todo lo que necesitas para ponerte en marcha ahora …

He ladrado sobre la búsqueda durante mucho tiempo aquí hay un hilo …

Nadie comparte el conocimiento mejor que esto

Notas al pie

[1] http://www.telusplanet.net/publi

[2] http://www.telusplanet.net/publi

[3] Imagen en telusplanet.net

[4] Imagen en telusplanet.net

[5] http://www.telusplanet.net/publi

Un motor de búsqueda crea este índice utilizando un programa llamado ‘rastreador web’. Cada vez que un rastreador web visita una página web, hace una copia y agrega su URL a un índice. Una vez hecho esto, el rastreador web sigue todos los enlaces de la página, repite el proceso de copiar, indexar y luego seguir los enlaces. Sigue haciendo esto, construyendo un gran índice de muchas páginas web a medida que avanza. Para obtener más información, visite la empresa Seo en Mumbai.

Motores de búsqueda basados ​​en rastreadores

Los motores de búsqueda basados ​​en rastreadores, como Google, crean sus listados automáticamente. Ellos “gatean” o “arañan” la web, luego las personas buscan a través de lo que han encontrado.

Si cambia sus páginas web, los motores de búsqueda basados ​​en rastreadores eventualmente encuentran estos cambios, y eso puede afectar la forma en que aparece en la lista. Los títulos de página, la copia del cuerpo y otros elementos juegan un papel importante.

Ver más

¡Neurociencia y ciencia del cerebro!

El cerebro humano es el mejor sistema de indexación jamás creado.

Las mejores tecnologías ahora son aquellas que apuntan a imitar el cerebro humano.

Esto implica el aprendizaje automático y los algoritmos de gráficos.

ContextualWeb creó desde cero un motor de búsqueda que indexa las páginas web de la misma manera que el cerebro humano indexa sus recuerdos.

Indiza miles de millones de páginas web en potencia de almacenamiento y cálculo de órdenes de magnitud inferiores a, por ejemplo, Google y Bing.

Configurar un sistema que lo haga bien en términos de dar a los usuarios lo que quieren es una cuestión de ingeniería de búsqueda y calidad de búsqueda . Este campo de trabajo es tanto una búsqueda intelectual como tecnológica. A menudo, las personas piensan en construir un sistema de búsqueda puramente desde una perspectiva técnica. Sin embargo, esto proporciona solo la mitad de lo que realmente se requiere para diseñar un sistema de búsqueda centrado en el usuario. Tengo una publicación de blog Search Engineering 101 que describe los 10 pasos para configurar un sistema de búsqueda con el propósito de mejorar la relevancia continua.

Un motor de búsqueda es un programa de software de recuperación de información que descubre, rastrea, transforma y almacena información para su recuperación y presentación en respuesta a las consultas de los usuarios. Un motor de búsqueda normalmente consta de cuatro componentes, por ejemplo, interfaz de búsqueda, rastreador (también conocido como araña o bot), indexador y base de datos.

Puede usar esta serie de artículos para resolver este problema: Mykyta Khliestov. Tiene una buena explicación de cómo hacer una aplicación Django con Elasticsearch integrado, sobre una base de datos con datos generados automáticamente.

Si eres completamente nuevo en el desarrollo de motores de búsqueda y tienes una formación técnica, verificaría Solr ( http://lucene.apache.org/solr/ ). Si está realmente interesado en entrar en el meollo del funcionamiento interno de un motor de búsqueda, consulte Lucene ( http://lucene.apache.org ); Lucene son las agallas que alimentan a Solr.

Si no es técnico, pero conoce la Web, eche un vistazo a la Búsqueda personalizada de Google.

Comience a trabajar en SEO usted mismo o al menos evalúe el rendimiento de su profesional o agencia de SEO. Mejor aún, hay herramientas, como SE Ranking, que son fáciles de usar y vale la pena considerar. Estos son los pasos que debes seguir para construir un SEO fuerte:

  • Cree su proyecto y realice una auditoría detallada del sitio web de SEO
  • Investiga a los competidores y burlesos a lo grande
  • Use un plan de marketing para que todo funcione
  • Verifique las clasificaciones regularmente, preferiblemente con una precisión del 100%
  • Ser visible en las redes sociales.
  • Asegúrese de que su base de SEO sea sólida

Lea más sobre esto en este artículo y comprenderá cómo hacerlo de la mejor manera y estar en la cima.

Esta serie lo ayudará a construir un motor de búsqueda de principio a fin, desde el motor de búsqueda hasta la interfaz de usuario de la página de búsqueda. Implementa un enfoque de aprendizaje automático para crear un motor de búsqueda difuso semántico con todas las explicaciones correctas de la teoría.
Cómo construir un motor de búsqueda: Parte 1 – Blogs de Machine Learning

Descargo de responsabilidad: soy el autor de esta serie de blogs

Mira esto aquí – Cómo funciona la búsqueda

Le dará una descripción completa de Google como motor de búsqueda.

Gracias

Ratan Jha

El tiempo y la paciencia son muy importantes. También estoy tratando de construir uno. Personalmente comencé con la creación de una función de indexación donde pones el contenido de la página y la URL. Luego lo clasifica por las diferentes palabras clave / frases clave. Actualmente estoy creando una función de búsqueda que utiliza referencias cruzadas de las diferentes palabras en la consulta para decodificar qué sitios web mostrar. Una vez que terminé, recomendaría construir un rastreador. Decidí ahorrar construyendo el rastreador hasta el final, porque quería asegurarme de que el resto funcionara antes de pasar tiempo construyendo un rastreador.

Debe considerar la búsqueda elástica si está dispuesto a realizar un preprocesamiento y solo lo está haciendo usted mismo en este momento. Klout, por ejemplo, lo usa.- Motor de búsqueda de código abierto, distribuido, RESTful

Los elementos del motor de búsqueda incluyen la entrada de un usuario, una lista de sitios web y un método para proporcionar resultados basados ​​en la entrada de la lista. Entonces, para construir un motor de búsqueda desde cero, necesitará una página web de interfaz de usuario para recopilar la entrada de búsqueda (esa será la parte fácil); deberá completar listas de sitios web (Google utiliza servidores de rastreo para buscar en la web y crear la lista); finalmente necesitará codificar un método de búsqueda para conectar los dos.

  1. Organizar la infraestructura necesaria, armada con conocimiento, paciencia y recursos.
  2. Mapa del espacio de internet, incluido IPv6
  3. Comience a probar cada fragmento en un ciclo para detectar la presencia de un servidor web
  4. Desde la selección positiva, comience a raspar sus datos html
  5. Almacénelo y analícelo, incluyendo índices y gráficos de enlaces.
  6. Comience a devolver resultados basados ​​en los datos recopilados y analizados
  7. Enjuague y repita