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
if (!$search->connect("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 Search::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.
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.
VERSION
$Revision: 1.15 $
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)
- 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
AUTHOR
Alain BARBET alian@alianwebserver.com
1 POD Error
The following errors were encountered while parsing the POD:
- Around line 386:
Non-ASCII character seen before =encoding in 'à'. Assuming CP1252