Alguém pode me apontar na direção certa? Realmente não tenho experiência em escrever código, mas sou um aprendiz rápido. Não estou tentando dizer que será fácil, mas espero que alguém possa me ajudar ...
Alguém pode me apontar na direção certa? Realmente não tenho experiência em escrever código, mas sou um aprendiz rápido. Não estou tentando dizer que será fácil, mas espero que alguém possa me ajudar ...
Respostas:
Eu escrevi isso para um blog que eu costumava voltar quando ... não está mais na web então ... aqui está! :
Como escrever um mecanismo de pesquisa
Darren Rowse, do probolgger.net, está realizando um Projeto de Redação em Grupo sobre qualquer coisa "Como". Este é um dos poucos blogs que eu leio regularmente, então acho que por que não escrever algo que valha a pena ler, para variar, é meu discurso violento comum, onde acabarei ameaçando esfaquear Hugo Chaves na garganta.
Eu decidi escrever "Como escrever um mecanismo de pesquisa". Eu escolhi este tópico por dois motivos:
Meu cliente é um varejista on-line de tamanho significativo; portanto, não estou pesquisando na web apenas o site, mais especificamente apenas os produtos à venda no site. No entanto, as mesmas técnicas podem ser usadas para escrever uma mais complexa usada para pesquisar na Internet. Sei que este não é um blog de tecnologia, por isso não vou me aprofundar nos detalhes técnicos, nem discutirei requisitos de potência de processamento de hardware ou rastreamento na Web.
Estou usando uma técnica bastante simples, tenho tabela (tblKeywords) com três campos:
A primeira coisa que faço é coletar palavras individuais de qualquer lugar que seja relevante. Para o meu cliente, puxarei as palavras da tabela de produtos. Especificamente nos campos Itemid, ItemName, ItemShortDescription, ItemLongDescription, Fabricante, ManufacturerSKU, Category1, Category2, Category3 ect. Se você estiver indexando páginas da Web, poderá extrair dados do texto da página, título da página, URL ou links em outras páginas que apontam para a página que está sendo indexada.
O valor do peso é determinado pela origem da palavra-chave. Por exemplo, no meu caso, o SKU de fabricação do item teria um peso de 100, enquanto uma palavra do nome do item pode ter um peso de 25. Uma palavra da ItemLongDescription pode ter um peso de 5. Se você estiver indexando páginas da Web, as palavras do título da página pode ter um peso de 75 enquanto uma palavra em negrito no texto da página pode ter um peso de 10. Se uma palavra for repetida em mais de uma vez ou \ e em mais de um local, você adicionará o peso para cada vez ocorre. Por exemplo, se a palavra "Camisa" vier de dois lugares para ItemId = 12345, o ItemName (peso de 25) e aparecer duas vezes em ItemLongDescription (Peso de 5 x2 = 10), a palavra "camisa" terá um peso total de 35 para ItemId = 12345.
Se alguém fizer uma pesquisa por "camisa rosa", procuro na minha tabela todas as instâncias das palavras "Rosa" ou "Camisa" e Totalizar os pesos. Mostrando os itens com maior peso total na parte superior.
SQL:
Select Itemid, sum(weight) as totWeight from tblKeywords
group by itemId having keyword in ('pink','shirt')
Então, aqui está, um mecanismo de pesquisa básico (e rápido). Obviamente, há mais a fazer, como remover pontuação, código HTML e palavras-chave sem valor, como "e", "se", "ou". Isso não aborda a pesquisa de frases-chave, mas você pode usar um sistema semelhante para frases se conseguir descobrir onde elas começam e terminam.
Os mecanismos de pesquisa são construídos sobre rastreadores da Web . Você precisará descobrir como criar um desses otários antes de desenvolver um site para exibir seus resultados (você precisará de um banco de dados rápido e eficiente).
O rascunho distribuído gratuitamente da Introdução à recuperação de informações será o seu principal material de referência. Ele lida com a pesquisa (recuperação de informações) do nível básico ao avançado.
Construindo um mecanismo de pesquisa
Este é um curso introdutório ao CS, que começará no dia 20, sugiro que você verifique, é oferecido gratuitamente.