Présentation

Mnogosearch

Mnogosearch : extension Php

Nouvelles versions

mnoGoSearch 3.3.6

Changements notables :

  • le mode de stockage par défaut est DBMode=blob DBMode=blob fonctionne avec SQLite3
  • le bug #2023 (“–disable-mysql-fulltext-plugin doesn't work”) est résolu
  • recherche et indexation améliorées
  • DBMode=multi fonctionne désormais avec “GroupBySite=yes”
  • search.cgi utilise moins de mémoires en DBMode=blob

Search ou crawling

La recherche s'effectue via le cgi-bin ou via la fonction udm_find de l'api php

Le cgi-bin

/usr/lib/cgi-bin/search.cgi

/usr/local/mnogosearch/bin/search.cgi

Un exemple de search.htm est fourni et utilise l'api php : ./mnogosearch/php/index.php

search documents parameter

Parametre groupbysite

Indexation

dbmode, dbaddr

Mode single, multi, blob et autre paramètre de la ligne de commande de indexer comme par exemple LiveUpdates=yes

Syntaxe de la commande DBAddr

dbmode : sélectionne le mode de stockage des mots dans la base de données.

Si vous indiquez single, tous les mots seront stockés dans la même table.

Si vous indiquez multi, les mots seront situés dans différentes tables, suivant leur taille.

Le mode multi est généralement plus rapide, mais requiert plus de tables.

Si le mode crc est sélectionné, mnoGoSearch enregistrera un entier de 32 bits, calculé avec l'algorithme CRC32, plutot que des des mots. Ce mode requiert moins d'espace disque, et il est beaucoup plus rapide que les modes single et multi.

crc-multi utilise la même technique de stockage que le mode crc, mais il stocke aussi les mots dans différentes tables suivant leur taille.

DBMode=multi : l'exploration(crawling ) et l'indexation fonctionne ensemble. advantage : search index est toujours à jour avec le crawler qui a déjà été téléchargé.

DBMode=blob : l'exploration(crawling ) et l'indexation fonctionne séparément. avantage : plus rapide au moment de la recherche que DBMode=multi.

Par contre il lui faut une étape supplémentaire : indexer -Eblob ou indexer –index pour mettre l'index à jour, après l'exploration qui a téléchargé un nombre de documents avec des nouveaux contenus. (i.e. both new documents and old documents that have changed since last crawling).

Le choix entre DBMode=blob et DBMode=multi se fait en fonction de la taille de la base de données et les performances de recherche.

Si votre collection de documents est plutôt petit et que les performances de recherche sont suffisantes :

search.htm   : dbmode = multi
indexer.conf : DBAddr mysql://root:mypassword@localhost/mnogosearchactu/?DBMode=multi
crontab      : /usr/local/mnogosearch/sbin/indexer -d /usr/local/mnogosearch/etc/indexer.conf

Si votre collection de documents est plutôt grande et qu'on a besoin de performances de recherche

search.htm   : dbmode = blob
indexer.conf : DBAddr mysql://root:mypassword@localhost/mnogosearchactu/?DBMode=blob
crontab      : Crawling : ./indexer -d /usr/local/mnogosearch/etc/indexer.conf
               Indexing : ./indexer --index -d /usr/local/mnogosearch/etc/indexer.conf ou 
               Indexing : ./indexer -Eblob -d /usr/local/mnogosearch/etc/indexer.conf

Principe

Les sites indexés sont stockés en base de données dans les tables bdict et bdicti

L'indexation doit être programmé via la crontab (cf ci-dessous)

La commande pour indexer est :

 cd /usr/local/mnogosearch/
 sudo ./sbin/indexer -d /usr/local/mnogosearch/etc/indexer.conf

-d permet de spécifier un fichier de configuration particulier.

Utilisation de la recherche

Udm_Get_Res_Field :

UDM_FIELD_DESC/UDM_FIELD_TEXT : la limite du nombre de caractère lu par mnogosearch est indiqué dans indexer.conf : Section meta.description


Navigation

QR Code
QR Code systeme_informatique:bilatu:mngosearch:0presentation (generated for current page)