====== Présentation ====== ===== Mnogosearch ===== [[http://www.mnogosearch.org/|MnoGoSearch Official site]] [[http://mnogosearch.free.fr/|MnoGoSearch traduit en FR]] [[http://fr.wikipedia.org/wiki/MnoGoSearch|MnoGoSearch - wiki]] ===== Mnogosearch : extension Php ===== [[http://www.php.net/manual/fr/book.mnogosearch.php|Doc FR Extension mnoGosearch]] [[http://mephistope.homelinux.org/serveur/php/manuel/docPHP4_v4c/manuel_ref.mnogo.html|Autre doc FR]] [[http://abalaban.free.fr/PHP3/francais/ref.mnogo.html|Manuel php FR]] [[http://www.lephpfacile.com/manuel-php/ref.mnogosearch.php|Extension mnoGosearch (php facile)]] [[http://www.mnogosearch.org/board/message.php?id=19285|Compiling php extension 1.92 with php 5.2.3 on ubuntu 64bit platform]] [[http://archive.debian.net/fr/woody/mnogosearch-php|archive.debian.net]] ===== 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** [[http://www.mnogosearch.org/doc/msearch-doingsearch.html|search documents parameter]] [[http://www.mnogosearch.org/doc33/msearch-cmdref-groupbysite.html|Parametre groupbysite]] ====== Indexation ====== [[http://linux.die.net/man/5/indexer.conf|Exemple]] [[http://www.mnogosearch.net/usage.html|usage]] [[http://pwet.fr/man/linux/commandes/mkind|mkind]] ===== dbmode, dbaddr ==== [[http://www.mnogosearch.org/doc33/msearch-howstore.html#sql-stor|Mode single, multi, blob]] et autre paramètre de la ligne de commande de indexer comme par exemple **LiveUpdates=yes** [[http://www.mnogosearch.org/doc33/msearch-cmdref-dbaddr.html|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