¿Alguien puede señalarme en la dirección correcta? Realmente no tengo experiencia escribiendo código, pero aprendo rápido. No estoy tratando de decir que será fácil, pero espero que alguien pueda ayudarme ...
search-engine
Ravi Sheth
fuente
fuente
Respuestas:
Escribí esto para un blog que solía tener cuando ... ya no estaba en la web, así que ... ¡aquí está! :
Cómo escribir un buscador
Darren Rowse en probolgger.net está llevando a cabo un proyecto de escritura grupal sobre cualquier cosa "Cómo". Este es uno de los pocos blogs que leo regularmente, así que me imagino por qué no escribir algo que valga la pena leer para variar, más bien mi diatriba violenta estándar donde terminaré amenazando con apuñalar a Hugo Chaves en la garganta.
Decidí escribir "Cómo escribir un motor de búsqueda". Elegí este tema por dos razones:
Mi cliente es un minorista en línea de gran tamaño, por lo que no busco en toda la web solo en su sitio, más específicamente solo en los productos a la venta en su sitio. Sin embargo, se pueden utilizar las mismas técnicas para escribir una más compleja que la utilizada para buscar en Internet. Sé que este no es un blog de tecnología, por lo que no profundizaré demasiado en los tecnicismos, ni hablaré sobre los requisitos de potencia de procesamiento / hardware o el rastreo web.
Estoy usando una técnica bastante simple, tengo una tabla (tblKeywords) con tres campos:
Lo primero que hago es recopilar palabras individuales de cualquier lugar que sea relevante. Para mi cliente, sacaré palabras de la tabla de productos. Específicamente de los campos Itemid, ItemName, ItemShortDescription, ItemLongDescription, Manufacturer, ManufacturerSKU, Category1, Category2, Category3 ect. Si está indexando páginas web, puede extraer datos del texto de la página, el título de la página, la URL o los enlaces en otras páginas que enlazan con la página que se está indexando.
El valor del peso está determinado por el origen de la palabra clave. Por ejemplo, en mi caso, el SKU de fabricación del artículo obtendría un peso de 100, mientras que una palabra del nombre del artículo podría tener un peso de 25. Una palabra de la descripción del artículo largo podría tener un peso de 5. Si está indexando páginas web, las palabras del título de la página puede tener un peso de 75, mientras que una palabra en negrita del texto de la página puede tener un peso de 10. Si una palabra se repite en más de una vez o \ y en más de un lugar, sumaría el peso por cada vez se produce Por ejemplo, si la palabra "Camisa" viene de dos lugares para ItemId = 12345, El ItemName (peso de 25) y aparece dos veces en ItemLongDescription (Peso de 5 x2 = 10) la palabra "camisa" tendría un peso total de 35 para ItemId = 12345.
Si alguien busca "camisa rosa", busco en mi tabla todas las instancias de las palabras "Rosa" o "Camisa" y totalizo los pesos. Mostrando los artículos con el peso total más alto en la parte superior.
SQL:
Así que aquí lo tienes, un motor de búsqueda básico (y rápido). Por supuesto, hay más por hacer, como eliminar la puntuación, el código HTML y las palabras clave sin valor como "y", "if", "o". Esto no aborda la búsqueda de frases clave, pero puede usar un sistema similar para frases si puede averiguar dónde comienzan y terminan.
fuente
El borrador de Introducción a la recuperación de información, de distribución gratuita, será su material de referencia principal. Maneja la búsqueda (recuperación de información) del nivel básico al avanzado.
fuente
Los motores de búsqueda se basan en rastreadores web , tendrá que descubrir cómo construir uno de estos retoños antes de poder desarrollar un sitio web para mostrar sus resultados (necesitará una base de datos rápida y eficiente para acompañarlo).
fuente
Construyendo un motor de búsqueda
Este es un curso introductorio a CS que comenzará el día 20, le sugiero que lo revise, se ofrece de forma gratuita.
fuente