The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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:

  • Accents are removed on search and when indexed

  • Search are case unsensitive (mmmh what my english ? ;-)

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.

  • To make request with "not" : circa - alian (not idem :circa-alian who search circa and alian)

  • To make request with "and" : circa + alian

  • To make request with "or" : circa alian (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

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

  • $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], [$first])

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

  • $first : If present return only site from $first to $first + $self->{nbResultPerPage} and a buffer with link to other pages

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

1 POD Error

The following errors were encountered while parsing the POD:

Around line 364:

Non-ASCII character seen before =encoding in 'à'. Assuming CP1252