Forums

Users-list sur ma boite email

Autres

mnoGoSearch web board

developper.com

slackware-fr.org

FAQ

url et bicti corrompus

L'indexation plante : en fait dans phpmyadmin les tables bdicti et url sont marqués 'utilisées'.

Si on tape la commande

 mysqlcheck -o -u root -pDolimysql! --all-databases

on s'aperçoit que le process boucle sur la table url de la base mnogosearch :

mnogosearch.bdict                                  OK
mnogosearch.bdict_tmp                              OK
mnogosearch.bdicti
Error    : Table './mnogosearch/bdicti' is marked as crashed and last (automatic?) repair failed
Error    : Table 'bdicti' is marked as crashed and last (automatic?) repair failed
error    : Corrupt
mnogosearch.categories                             Table is already up to date
mnogosearch.crossdict                              Table is already up to date
mnogosearch.dict                                   Table is already up to date
mnogosearch.links                                  Table is already up to date
mnogosearch.qcache                                 Table is already up to date
mnogosearch.qinfo                                  Table is already up to date
mnogosearch.qtrack                                 Table is already up to date
mnogosearch.server                                 OK
mnogosearch.srvinfo                                Table is already up to date
mnogosearch.url
Error    : Table './mnogosearch/url' is marked as crashed and last (automatic?) repair failed
Error    : Table 'url' is marked as crashed and last (automatic?) repair failed
error    : Corrupt
^C

Il faut réparer les tables ISAM url et bdicti.

Toy d'abord stopper apache et mysql

/etc/init.d/apache2 stop
/etc/init.d/mysql stop

Vérifier que le fichier que nous souhaitons réparer contient bien des erreurs

myisamchk /var/lib/mysql/mnogosearch/url.MYI

puis lancer la procédure de réparation

myisamchk -r /var/lib/mysql/mnogosearch/url.MYI

la recherche avec accent n'est pas prise en charge

 hodei@devhodei:/$mysql -u root -pDolimysql!
 mysql> connect mnogosearch
 mysql> ALTER TABLE bdict CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
 mysql> ALTER TABLE bdicti CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
 mysql> ALTER TABLE urlinfo CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

Cela ne suffit pas car une recherche ecrit dans la table bdict et la repasse en latin_sweden;

il faut initialiser les variables $localcharset et $browsercharset avec utf-8 dans le fichier ./search.php

dans l'indexer.conf j'ai décommenté

#Localcharset utf-8

Inverted word index not found. Probably you forgot to run 'indexer -Eblob

Le message ci-dessus s'affiche aprés le lancement d'une recherche.

Pour résoudre le problème, j'ai lancé la commande suivante en 'live':

./indexer -Eblob -d /usr/local/mnogosearch/etc/indexer.conf

La commande retourne ceci :

 indexer[[19179]]: Indexing
 indexer[[19179]]: Loading URL list
 indexer[[19179]]: Converting url.
 indexer[[19179]]: Switching to new blob table.
 indexer[[19179]]: Indexing finished       0.01

Indexer stop for indexing

2014-08-08 dev@hodei.net

Hi,

When i indexing my database, the indexer program stop : perhaps my mysql database is too big ? 17 GO
Here the message :
---------------------------------------------------------------------------------------------------------------------------------------------------

root     17549  0.0  0.0   7832   880 pts/1    S+   11:25   0:00 grep indexer
root@bot:/usr/local/mnogosearch/sbin# ./indexer -Eblob /usr/local/mnogosearch/etc/indexer.conf
indexer[17550]: Indexing
indexer[17550]: Loading URL list
indexer[17550]: Converting intag00
indexer[17550]: Converting intag01
indexer[17550]: Converting intag02
indexer[17550]: Converting intag03
indexer[17550]: Converting intag04
indexer[17550]: Converting intag05
indexer[17550]: Converting intag06
indexer[17550]: Converting intag07
indexer[17550]: Converting intag08
indexer[17550]: Converting intag09
indexer[17550]: Converting intag0A
indexer[17550]: Converting intag0B
indexer[17550]: Converting intag0C
indexer[17550]: Converting intag0D
indexer[17550]: Converting intag0E
indexer[17550]: Converting intag0F
indexer[17550]: Converting intag10
indexer[17550]: Converting intag11
indexer[17550]: Converting intag12
indexer[17550]: Converting intag13
indexer[17550]: Converting intag14
indexer[17550]: Converting intag15
indexer[17550]: Converting intag16
indexer[17550]: Converting intag17
{dbmode-blob.c:4169} Query: UNLOCK TABLES

indexer[17550]: MySQL driver: #2006: MySQL server has gone away
root@bot:/usr/local/mnogosearch/sbin#
---------------------------------------------------------------------------------------------------------------------------------------------------

I send too the database information :

+--------------+------------+
| Tables       | Size in MB |
+--------------+------------+
| bdict        |     649.07 |
| bdict_tmp    |    2112.98 |
| bdicti       |    4144.23 |
| categories   |       0.00 |
| crossdict    |       0.00 |
| dict         |       0.00 |
| links        |       0.00 |
| qcache       |       0.00 |
| qinfo        |       0.00 |
| qtrack       |       0.00 |
| server       |       0.15 |
| srvinfo      |       0.00 |
| url          |    1493.58 |
| urlinfo      |   10231.24 |
| wrdstat      |       0.00 |
+--------------+------------+
17 rows in set (0.12 sec)

Thanks for your help

Je n'ai pas envoyé ce message car j'ai trouvé une solution ici :

Dans /etc/mysql/my.cnf il faut modifié le paramètre max_allowed_packet et mettre 64M à la place de 16M par exemple

ATTENTION l'indexation est tres longue 5h …

le résutat à ce jour 08/08/2014 Total converted: 370963997 records, 1903913799 bytes


Navigation

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