2008-11-07 3 views

Répondre

0

Je suppose qu'il n'y a pas (au moins qui est assez populaire pour les utilisateurs ici pour être au courant).

Nous avons commencé à coder notre propre système de recherche.

1

L'affiche originale précisé dans un commentaire à cette réponse que ce qu'il cherche, il est essentiellement « recherche greplike mais par HTTP », et a indiqué que la recherche de quelque chose qui utilise peu le disque comme il travaille avec un système embarqué.

Je ne suis pas au courant de projets connexes, mais vous voudrez peut-être regarder les analyseurs html et les implémentations xquery dans la langue de votre choix. Vous devriez être en mesure de prendre soin de la "vraie vie" désordre de html avec le premier, et écrire une recherche qui est presque aussi détaillée que vous pourriez désirer avec le dernier. Je suppose que vous travaillerez avec un ensemble d'URL qui seront soit fournies, soit déjà stockées localement, puisque l'idée d'explorer réellement tout le web, de découvrir des liens, etc., dans un périphérique embarqué est totalement irréaliste.

Bien qu'avec une bonne mise en œuvre html/XQuery, vous avez les outils pour extraire tous les liens ..

Ma réponse originale, ce qui était vraiment une demande d'éclaircissement:

Je ne sais pas ce que vous voulez dire. Comment imaginez-vous une recherche fonctionnant sans index? Exploration du Web pour chaque requête? Passer à google? Ou faites-vous référence à un type spécifique de fichier d'index de recherche que vous essayez d'éviter?

+0

>> Comment imaginez-vous qu'une recherche fonctionne sans index? Je l'imagine comme une recherche de type grep mais via HTTP. >> Explorer le Web pour chaque requête? Oui. >> Passer à google? No J'évite de créer un fichier d'index car l'espace disque est rare, comme dans un environnement intégré. – ksuralta

1

Vous voulez dire:

search.cgi

#/bin/sh 
arg=`echo $QUERY | sed -e 's/^s=//' -e 's/&.*$//'` 
cd /var/www/httpd 
find . -type f | xargs egrep -l "$arg" | awk 'BEGIN { 
     print "Content-type: text/html"; 
     print ""; 
     print "<HTML><HEAD><TITLE>Search Result</TITLE></HEAD>"; 
     print "<BODY><P>Here are your search results, sorry it took so long.</P>"; 
     print "<UL>"; 
    } 
    { print "<LI><A HREF=\"http://yourhost.com/" $1 "\">" $1 "</A></LI>"; } 
    END { 
     print "</UL></BODY>"; 
    }' 

... Untested

+0

Hmm .. quelque chose comme ça .. mais, une version plus raffinée :) Comme il serait lent comme prévu, je pense à montrer des résultats partiels pendant que l'utilisateur attend. – ksuralta

Questions connexes