NAME

Search::Circa::Search - Search interface on Circa, a www search engine running with Mysql

SYNOPSIS

 use Search::Circa::Search;
 my $search = new Search::Circa::Search;
 
 # Connection à MySQL
 die "Erreur à la connection MySQL:$DBI::errstr\n"
   if (!$search->connect);
 
 # 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 Search::Circa::Search, a module who provide functions to perform search on Circa database

Notes:

Circa::Search work with Circa::Indexer result. Circa::Search is a Perl interface, but it's exist on this package a PHP client too.

Class Interface

Constructors and Instance Methods

new
Create new instance of Circa::Search

Search method

search($tab,$mot,$idc,$langue,$url,$create,$update,$categorie)

Main method of this module. This function anlayse request of user, build and make the SQL request on Circa, and return HTML result. Circa support "not", "and", and "or" by default.

Parameters:

$template

HTML template used for each link found. If undef, default template will be used (defined at top of this file). Variables names used are : $indiceG,$titre,$description, $url,$facteur,$last_update,$langue

Example :

  '"<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

Search word sequence hit by user

Séquence des mots recherchés tel que tapé par l'utilisateur

first

Number of first site print.

Indice du premier site affiché dans le résultat

$id

Id of account

Id du site dans lequel effectué la recherche

$langue

Restrict by 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)

Make request on Circa. Call by search

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

Retourne ($resultat,$nom_categorie) :

sites_in_categorie($id, $idr, [$template], [$first])

Fonction retournant la liste des pages de la categorie $id dans le site $idr

Retourne le buffer contenant la liste des sites formatées en ft de $template

HTML methods

get_link($no_page,$id)
Retourne l'URL correspondant à la page no $no_page dans la recherche en cours
advanced_form([$id],$cgi)
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($cgi)
Retourne le buffer HTML correspondant à la liste des langues disponibles
get_name_site($id)
Retourne le nom du site dans la table responsable correspondant à l'id $id

VERSION

$Revision: 1.21 $

SEE ALSO

Search::Circa, Root class for circa

circa_search, command line script to perform search

AUTHOR

Alain BARBET alian@alianwebserver.com