Circa

English version
 
     
 

Présentation

Circa est un moteur de recherche pour votre site, ou pour un ensemble de sites. Il agit comme Altavista pour l'indexation, c'est à dire qu'il va suivre et inscrire chacune des url trouvées dans la page inscrite du moment que cette page se trouve sur le même serveur que la page originale.

Circa est gratuit, couvert par la license GNU

Essayez-le !

Faites une recherche sur AlianWebServer :

Ou essayer la recherche avancée.

Possibilités

  • Indexation plein texte
  • Des facteurs différents peuvent être attribués dans la configuration pour les différentes parties d'un document: corps, title, keywords, description
  • Support des requêtes booléennes ou (par defaut) et ("+") sans ("-"). Ex perl + faq -cgi : les documents contenant obligatoirement faq avec perl sans cgi.
  • Client Perl ou PHP
  • Support du protocole HTTP, FTP
  • Stockage des index dans une base de donnée MySQL
  • Indexation des pages HTML et fichiers plein texte.
  • Possiblité d'utiliser Circa pour la navigation par répertoire / catégorie.
  • Possibilité d'indexation de répertoire local sans passer par un serveur Web.
  • Plusieurs niveaux d'indexation : totale, incrémentale, ciblée sur un site.Les documents qui n'ont pas été mis à jour depuis la dernière indexation ne sont jamais réindexés. Toute requête sur un fichier se fait au préalable par une requête HEAD récupérer les infos nécessaires : validite, date de modif, taille.
  • La taille des documents indéxés peut être limitée (Ex: ne pas indexer les documents de plus de 5 Mo). A utiliser en fonction de la place mémoire disponible.
  • Masques HTML pour le résultat de la recherche facilement personnalisable.
  • Recherche sur différentes parties de la base : Nouveautés, documents mis à jour depuis une certaine date, restriction par langue, par url, par site.
  • Interface Web d'administration, ou en ligne de commande.
  • Support des balise d'exclusion standart des robots (robots.txt). Identification avec CircaIndexer/0.1, adresse mail alian@alianwebserver.com.
  • Espace les requêtes d'indexation sur un même serveur de 8 secondes. "It's not a bug, it's a feature!" Ceci est une règle mimimum pour ne pas surcharger un serveur.
  • Indexe ou non les différents liens d'un CGI (tout ce qui est après nomfichier?)
  • Support proxy HTTP

Todo

  • Support NNTP
  • Support des langages exotiques (Japonais, Chinois, Turc, ...).
  • Support d'autres bases de donnée

Prérequis

  • MySQL
  • Perl pour l'indexation, PHP ou Perl pour la recherche
  • Modules DBI, DBD::mysql,LWP::RobotUA,HTML::LinkExtor;

Ressources utilisées

Occupation mémoire : Indexation : 5,5M
Ocupation processeur : sur Sun SPARC Station 4 : (5 secondes à 2%, 2s. à 20%, 1s. à 30%) / url indexée.
Occupation espace disque base données : 2-5 ko / page inscrite suivant les réglages.

L'indexation des pages n'est pas une mince affaire, et le moteur peut tourner trèèèèès longtemps (10-15 heures en fonctions des urls à indexer et du niveau max rélgé, donc ceci n'est pas adapté pour le protocole CGI. Utilisez donc admin.pl en ligne de commande pour mettre à jour les index. Si vous ne disposez pas d'un accès telnet, vous pouvez le lancer en tache de fond depuis un autre script. Ou mieux, installer MySQL sur une de vos machines pour faire tourner l'indexation, et exporter ensuite les index sur l'hébergement final.

Installation

  • Téléchargez l'archive et décompressez-là dans un répertoire qui supporte les CGI.
  • Vous devez modifier search.cgi et search.pl (script de recherche) et admin.cgi,admin_compte.cgi, admin.pl (script d'administration) pour mettre vos paramètres de connexion à MySQL : Utilisateur, mot de passe, base de donnée, éventuellement adresse du serveur si autre que 'localhost'.
  • Utiliser admin.cgi (Interface CGI) ou admin.pl (Interface en ligne de commande) pour inscrire ou indexer les url voulues, creer ou supprimer les tables, ... Pour l'indexation, je vous conseille d'utiliser si possible le script en ligne de commande, étant donné que ce genre d'opération peut durer longtemps si bcp d'url
  • Lancer search.cgi ou search.pl. Vous pouvez utiliser le formulaire par défaut généré pour l'intégrer dans vos pages. Seul le champ 'words' est obligatoire.
  • Pour un exemple de la présentation de la page de résultat, regardez la page circa.htm

Documentation

La documentation est faite au format POD, cad qu'elle est compris dans le source des modules. Utilisez pod2html nom_du_fichier.pm > nom_du_fichier.html pour le lire.

Téléchargement

Si vous pouvez installer des modules dans le répertoire de Perl (droit Administrateur), vous pouvez télécharger et installer les deux modules : Circa::Search et Circa::Indexer. Voir le répertoire demo de chacun des modules pour leur utilisation. Installez Circa::Indexer en premier.

Sinon vous pouvez utiliser cette distribution :

Format ZIP ou Format tar.gz

Auteur

Alain BARBET alian@alianwebserver.com

Référence

L'implémentation du moteur est fait en fonction des directives de :

http://info.webcrawler.com/mak/projects/robots/robots.html

Possibilités :

http://search.mnogo.ru/features.html

Pourquoi ?

J'ai vu ce besoin, j'en avais besoin de un pour AlianWebServer, et pense que d'autres personnes peuvent en avoir besoin.

 
   
 
 
Powered by AlianWebServer