He estado ocupado estudiando la optimización de sitios web recientemente, y de repente me interesé y estudié brevemente los principios de SE. Después de leer este artículo, definitivamente será una gran ganancia para los especialistas en SEO. Solo comprender mejor el mecanismo y los principios del motor de búsqueda. mejores clasificaciones.
Los problemas técnicos que los motores de búsqueda necesitan resolver generalmente se dividen en programas araña + clasificación e indexación + vocabulario + factores del algoritmo de clasificación + indexación y optimización de bases de datos + estructura de bases de datos
1. Araña. Actualmente, parece que las arañas se pueden implementar en C o PHP. La mayoría de las arañas de Baidu están hechas de C. C también puede admitir múltiples interfaces de conexión de bases de datos, y la eficiencia operativa de C es mayor que la de PHP, y C también puede controlar mejor la capa inferior. Aunque C es tan bueno, todavía quiero usar PHP. Hay que ahorrar más tiempo y ya no podremos aprender C. Si necesita usar C en el futuro si necesita alta eficiencia, use C nuevamente. La base de datos puede permanecer sin cambios y MYSQL se puede conectar a C. PHP tiene ventajas y desventajas. No debería ser un gran problema si eres una araña. El mayor problema es que puede ser muy lento. Al rastrear páginas web, los problemas que pueden surgir son el orden de rastreo, cómo registrar si el rastreo no tiene éxito o se agota el tiempo de espera y cuándo actualizar el rastreo la próxima vez. La base de datos del motor de búsqueda es nueva al principio, no tiene ninguna URL y es necesario agregar una gran cantidad de URL. Puede utilizar una declaración de bucle for aquí para realizar un bucle automáticamente según las letras en inglés. Por supuesto, el sitio web no sólo está en inglés, sino también en números, que sólo se pueden introducir manualmente. Si aún lo agarra en un bucle, se estima que muchos de ellos fallarán. Es necesario analizar el código capturado para ver si el tipo de codificación es utf-8 o gb2312. Mi motor de búsqueda solo quiere capturar chino simplificado. Si la recuperación se agota, se registrará y se recuperará nuevamente unos diez días después. Si se agota tres veces seguidas, se eliminará de la base de datos.
2. La creación de índices es un problema muy difícil. Baidu y Google pueden utilizar sus propias granjas de servidores para crear servidores distribuidos. No tengo tantos servidores. Entonces quería probar otro enfoque. Crea páginas estáticas. No sabía antes que me tomaría alrededor de 0,2 segundos ingresar una palabra relativamente poco común en Baidu y Google, mientras que las palabras comunes solo toman 0,1 segundos. Además, el tiempo de consulta necesario para introducir repetidamente una palabra la segunda vez es mucho menor. Este es probablemente el impacto del índice. Si el índice se coloca en la memoria, la velocidad de lectura será muy buena. Solo tengo un servidor, e incluso si solo le pusiera un índice de 50.000 términos de consulta comunes, probablemente sería un poco agotador. Una página debe tener al menos 20K y 50.000 páginas son 20K*50=1G. Esta es sólo la primera página de 50.000 palabras. Si el usuario quiere pasar páginas para realizar consultas, la memoria definitivamente no será suficiente. Si solo se guarda la primera página en la memoria y el usuario pasa las páginas para consultar, la velocidad no mejorará. Así que voy a usar estática completa. Simule una consulta de 50.000 palabras y luego genere una página estática. La primera página de todas las palabras se coloca en la memoria y las páginas siguientes se colocan en el disco duro. Si la página pudiera guardarse en la memoria, este problema se habría resuelto.
3. Vocabulario. Hay miles de caracteres chinos y hay al menos 3000 caracteres chinos de uso común. Se estima que hay 20.000 palabras de uso común compuestas por él. ¿Cómo agregar este diccionario de sinónimos? ¿En qué formato debería almacenarse? ¿Archivo CSV, base de datos o archivo de texto? Anteriormente, pensé en buscar el archivo de sinónimos de Kingsoft PowerWord e intentar copiarlo directamente.
4. Todos los algoritmos que afectan la clasificación deben colocarse en una tabla. Luego están los algoritmos fijos, que son factores del propio sitio web, y los algoritmos variables, que son factores que cambian debido a las palabras ingresadas por el usuario o debido a diferentes épocas, estaciones, etc. El algoritmo fijo se coloca en una tabla y se calcula la puntuación total para cada sitio web. Parte del algoritmo de cambio se generó antes y parte se calcula después de la entrada del usuario.
5. Actualmente no existe una buena solución para la indexación de bases de datos. No debe haber demasiados índices de expresión, ya que demasiados afectarán la velocidad.
6. Estructura de la base de datos. Esto es fundamental. Se estima que la estructura de la base de datos debe finalizarse antes de que salga la interfaz frontal del sitio web. También es necesario dejar una interfaz para futuras actualizaciones, como agregar factores de algoritmo o cambiar campos para optimizar las declaraciones de consulta, etc. La estructura preliminar es así. De 1 a 3 tablas almacenan información del sitio web. El primer campo es la clave principal de incremento automático, el segundo campo es la dirección de la página de inicio del sitio web y, en orden, están el tiempo de registro del nombre de dominio del sitio web, el tiempo de recopilación, el tiempo de la última instantánea, el número total de páginas incluidas, el número de bytes en la página de inicio, clasificación del nombre de dominio (com/cn/org/net/gov/edu), número total de vínculos de retroceso, clasificación del sitio web (puede ser del 1 al 10, el portal se puede ampliar a 30), etc.
El artículo está reproducido de: www.jianfeiyiqi.com Indique la fuente con el enlace.