Tenho estado ocupado estudando otimização de sites recentemente e de repente me interessei e estudei brevemente os princípios do SE. Depois de ler este artigo, será definitivamente um grande ganho para os SEOers. Somente entendendo melhor o mecanismo e os princípios do mecanismo de pesquisa eles poderão obter. melhores classificações.
Os problemas técnicos que os motores de busca precisam resolver são geralmente divididos em programas spider + classificação e indexação + vocabulário + fatores de algoritmo de classificação + indexação e otimização de banco de dados + estrutura de banco de dados
1. Aranha. Atualmente, parece que os spiders podem ser implementados em C ou PHP. A maioria dos spiders do Baidu são feitos de C. C também pode suportar múltiplas interfaces de conexão de banco de dados, e a eficiência operacional de C é maior do que a do PHP, e C também pode controlar melhor a camada inferior. Embora C seja tão bom, ainda quero usar PHP. É preciso economizar mais tempo e não podemos mais aprender C. Se você precisar usar C no futuro, se precisar de alta eficiência, use C novamente. O banco de dados pode permanecer inalterado e o MYSQL pode ser conectado a C. PHP tem vantagens e desvantagens. Não deve ser um grande problema se você for um spider. O maior problema é que pode ser muito lento. Ao rastrear páginas da web, os problemas que podem surgir são a ordem do rastreamento, como registrar se o rastreamento não foi bem-sucedido ou expirou e quando atualizar o rastreamento na próxima vez. O banco de dados do mecanismo de pesquisa é inicialmente novo, sem URLs, e um grande número de URLs precisa ser adicionado. Você pode usar uma instrução de loop for aqui para fazer um loop automático de acordo com as letras em inglês. Claro, o site não está apenas em inglês, mas também em números, que só podem ser inseridos manualmente. Se você ainda agarrá-lo em um loop, estima-se que muitos deles falharão. O código capturado precisa ser analisado para ver se o tipo de codificação é utf-8 ou gb2312. Meu mecanismo de pesquisa deseja apenas capturar chinês simplificado. Se a busca expirar, ela será registrada e buscada novamente cerca de dez dias depois. Se expirar três vezes consecutivas, ela será retirada do banco de dados.
2. A criação de índices é um problema muito difícil. Baidu e Google podem usar seus próprios farms de servidores para construir servidores distribuídos. Não tenho tantos servidores. Então, eu queria tentar outra abordagem. Crie páginas estáticas. Eu não sabia antes que levaria cerca de 0,2 segundos para inserir uma palavra relativamente incomum no Baidu e no Google, enquanto palavras comuns levariam apenas 0,1 segundos. Além disso, o tempo de consulta necessário para inserir repetidamente uma palavra pela segunda vez é muito menor. Este é provavelmente o impacto do índice. Se o índice for colocado na memória, a velocidade de leitura será muito boa. Eu só tenho um servidor e, mesmo que eu colocasse nele apenas um índice de 50.000 termos de consulta comuns, provavelmente seria um pouco cansativo. Uma página deve ter pelo menos 20K e 50.000 páginas equivalem a 20K*50=1G. Esta é apenas a primeira página de 50.000 palavras. Se o usuário quiser virar as páginas para consulta, a memória definitivamente não será suficiente. Se apenas a primeira página for colocada na memória e o usuário virar as páginas para consultar, a velocidade não será melhorada. Então, vou ficar totalmente estático. Simule uma consulta de 50.000 palavras e depois gere uma página estática. A primeira página de todas as palavras é colocada na memória e as páginas subsequentes são colocadas no disco rígido. Se a página pudesse ser colocada na memória, esse problema teria sido resolvido.
3. Vocabulário. Existem milhares de caracteres chineses e pelo menos 3.000 caracteres chineses comumente usados. Estima-se que existam 20.000 palavras comumente usadas compostas por ele. Como adicionar este dicionário de sinônimos? Em que formato ele deve ser armazenado? Arquivo CSV, banco de dados ou arquivo de texto Anteriormente, pensei em encontrar o arquivo do dicionário de sinônimos do Kingsoft PowerWord e tentar copiá-lo diretamente.
4. Todos os algoritmos que afetam a classificação devem ser colocados em uma tabela. Depois, há algoritmos fixos, que são fatores do próprio site, e algoritmos variáveis, que são fatores que mudam devido às palavras inseridas pelo usuário ou devido a diferentes horários, estações, etc. O algoritmo fixo é colocado em uma tabela e a pontuação total é calculada para cada site. Parte do algoritmo de mudança foi gerado antes e parte dele é calculada após a entrada do usuário.
5. Atualmente não existe uma boa solução para indexação de banco de dados. Não deve haver muitos índices de expressão, pois muitos afetarão a velocidade.
6. Estrutura da base de dados. Isto é crítico. Estima-se que a estrutura do banco de dados deva ser finalizada antes do lançamento da interface front-end do site. Também é necessário deixar uma interface para atualizações futuras, como adicionar fatores de algoritmo ou alterar campos para otimizar instruções de consulta, etc. A estrutura preliminar é assim. 1-3 tabelas armazenam informações do site. O primeiro campo é a chave primária incrementada automaticamente, o segundo campo é o endereço da página inicial do site e, em ordem, estão o horário de registro do nome de domínio do site, horário de coleta, horário do último instantâneo, número total de páginas incluídas, número de bytes em a página inicial, classificação do nome de domínio (com/cn/org/net/gov/edu), número total de backlinks, classificação do site (pode ser de 1 a 10, o portal pode ser expandido para 30), etc.
O artigo foi reproduzido de: www.jianfeiyiqi.com Indique a fonte com o link.