NAME
Circa::Search - provide functions to perform search on Circa, a www search engine running with Mysql
SYNOPSIS
use Circa::Search;
my $search = new Circa::Search;
# Connection à MySQL
if (!$search->connect_mysql("aliansql","pass","my_database","localhost"))
{die "Erreur à la connection MySQL:$DBI::errstr\n";}
# Affichage d'un formulaire minimum
print header,
$search->start_classic_html,
$search->default_form;
# Interrogation du moteur
# Sites trouves, liens pages suivantes, nb pages trouvees
my ($resultat,$links,$indice) = $search->search('informatique internet',0,1);
DESCRIPTION
This is Circa::Search, a module who provide functions to perform search on Circa, a www search engine running with Mysql. Circa is for your Web site, or for a list of sites. It indexes like Altavista does. It can read, add and parse all url's found in a page. It add url and word to MySQL for use it at search.
Remarques sur la recherche:
- Accents are removed on search and when indexed
- Search are cas unsensitive (mmmh what my english ? ;-)
VERSION
$Revision: 1.5 $
port_mysql
Get or set the MySQL port
prefix_table
Get or set the prefix for table name for use Circa with more than one time on a same database
Méthodes publiques
connect_mysql($user,$password,$db)
Connecte l'application à MySQL. Retourne 1 si succes, 0 sinon
$user : Utilisateur MySQL
$password : Mot de passe MySQL
$db : Database MySQL
$server : Adr IP du serveur MySQL
search($template,$mot,$first,$id,$langue,$url,$create,$update,$catego)
Fonction permettant d'effectuer une recherche par mot dans Circa
Paramètres :
$template : Masque HTML pour le resultat de chaque lien. Si undef, le masque par defaut
(defini en haut de ce module) sera utilise. La liste des variables définies au
moment du eval sont : $indiceG,$titre,$description,$url,$facteur,$last_update,$langue
Exemple de masque :
'"<p>$indiceG - <a href=\"$url\">$titre</a> $description<br>
<font class=\"small\"><b>Url:</b> $url <b>Facteur:</b> $facteur
<b>Last update:</b> $last_update </font></p>\n"'
$mot : Séquence des mots recherchés tel que tapé par l'utilisateur
first : Indice du premier site affiché dans le résultat
$id : Id du site dans lequel effectué la recherche
$langue : Restriction par langue (facultatif)
$Url : Restriction par url : les url trouvées commenceront par $Url (facultatif)
$create : Restriction par date inscription. Format YYYY-MM-JJ HH:MM:SS (facultatif)
$update : Restriction par date de mise à jour des pages. Format YYYY-MM-JJ HH:MM:SS (facultatif)
$catego : Restriction par categorie (facultatif)
Retourne ($resultat,$links,$indice)
$resultat : Buffer HTML contenant la liste des sites trouves formaté en fonction
de $template et des mots present dans $mots
$links : Liens vers les pages suivantes / precedentes
$indice : Nombre de sites trouves
search_word($tab,$word,$idc,$langue,$Url,$create,$update,$categorie)
Construction de la requete SQL. Son exploitation est faite par search
$tab : Reference du hash où mettre le resultat
$word : Mot recherché
$id : Id du site dans lequel effectué la recherche
$langue : Restriction par langue (facultatif)
$Url : Restriction par url
$create : Restriction par date inscription
$update : Restriction par date de mise à jour des pages
$catego : Restriction par categorie
Retourne la reference du hash avec le resultat de la recherche sur le mot $word Le hash est constitué comme tel:
$tab{$url}[0] : titre
$tab{$url}[1] : description
$tab{$url}[2] : facteur
$tab{$url}[3] : langue
$tab{$url}[4] : date de dernière modification
@{$$tab{$url}[5]}: liste des mots trouves pour cet url
categories_in_categorie($id,$idr,$template)
Fonction retournant la liste des categories de la categorie $id dans le site $idr
$id : Id de la categorie de depart. Si undef, 0 est utilisé (Considéré comme le "Home")
$idr : Id du responsable
$template : Masque HTML pour le resultat de chaque lien. Si undef, le masque par defaut
(defini en haut de ce module) sera utlise
Retourne ($resultat,$nom_categorie) :
$resultat : Buffer contenant la liste des sites formatées en ft de $template
$nom_categorie : Nom court de la categorie
sites_in_categorie($id,$idr,$template)
Fonction retournant la liste des pages de la categorie $id dans le site $idr
$id : Id de la categorie de depart. Si undef, 0 est utilisé (Considéré comme le "Home")
$idr : Id du responsable
$template : Masque HTML pour le resultat de chaque lien. Si undef, le masque par defaut
(defini en haut de ce module) sera utlise
Retourne le buffer contenant la liste des sites formatées en ft de $template
getParent($id,$idr,%tab)
Rend la chaine correspondante à la catégorie $id avec ses rubriques parentes
get_link($no_page)
Retourne l'URL correspondant à la page no $no_page dans la recherche en cours
get_link_categorie($no_categorie,$id)
Retourne l'URL correspondant à la categorie no $no_categorie
start_classic_html
Affiche le debut de document (<head></head>)
fill_template($masque,$vars)
$masque : Chemin du template
$vars : hash des noms/valeurs à substituer dans le template
Rend le template avec ses variables substituées. Ex: si $$vars{age}=12, et que le fichier $masque contient la chaine:
J'ai <? $age ?> ans,
la fonction rendra
J'ai 12 ans,
advanced_form($id)
Affiche un formulaire minimum pour effectuer une recherche sur Circa
default_form
Affiche un formulaire minimum pour effectuer une recherche sur Circa
get_liste_langue
Retourne le buffer HTML correspondant à la liste des langues disponibles
get_first($requete)
Retourne la premiere ligne du resultat de la requete $requete sous la forme d'un tableau
get_masque
get_name_site($id)
Retourne le nom du site dans la table responsable correspondant à l'id $id
get_liste_categorie_fils($id,$idr)
$id : Id de la categorie parent
$idr : Site selectionne
Retourne la liste des categories fils de $id dans le site $idr
AUTHOR
Alain BARBET alian@alianwebserver.com
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 52:
Non-ASCII character seen before =encoding in 'à'. Assuming CP1252