indexation Mysql fulltext

Forum de support pour les questions concernant l'utilisation de phpBB 3.3, les problèmes rencontrés lors de manipulations, de configuration du forum ou de personnalisation autres que les Styles ou les Extensions

Modérateur : Équipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

Pensez à effectuer une recherche, la réponse à votre question a de grandes chances d'avoir déjà été donnée.
Répondre
Auteur
atadark
Posteur néophyte
Posteur néophyte
Messages : 6
Enregistré le : 28 avr. 2019 à 16:17

indexation Mysql fulltext

Message par atadark »

Bonjour,

Je ne sais pas si mon sujet est posté dans la bonne rubrique. Merci aux modérateurs de le déplacer si je suis au mauvais endroit.
Je pense que c'est une question PHPBB3 d'utilisation.
Désolé pour les longues explications ci-dessous mais j'ai cherché longtemps à expliquer le dysfonctionnement

Je suis en train de tester l'indexation FullText mysql.
Je souhaiterai modifier les valeurs ft-max-word-len et ft-min-word-len
J'ai modifié le fichier c:\Wamp\bin\mysql\mysql5.7.28\my.ini dans la rubrique [mysqld]
[mysqld]
ft-max-word-len = 14
ft-min-word-len = 4


Après redémarrage du serveur, mes 2 variables apparaissent bien comme modifiées
SHOW VARIABLES LIKE 'ft_max_word_len'
ft_max_word_len 14
SHOW VARIABLES LIKE 'ft_min_word_len'
ft_min_word_len 4


Voici ma configuration :
Windows 10
PHPBB 3.3.4
WAMPSERVER 3.2.0
PHP 7.4.0
MYSQL 5.7.28
APACHE 2.4.41

Je n'ai aucun soucis applicatif PHPBB3 lors de mon indexation,
pas de message d'erreur
j'obtiens bien la liste des mots indexés dans INNODB_FT_INDEX_TABLE
SET GLOBAL innodb_ft_aux_table = 'xxxxxxxx/phpbb_posts' pour avoir la liste des mots
SELECT * FROM `INNODB_FT_INDEX_TABLE` WHERE 1


et je constate que des mots de 3 caractères apparaissent dans la table.
Les 2 variables ft-max-word-len et ft-min-word-len ne semblent pas prise en compte.

De plus quand je mets le serveur en trace,
log-bin=mysql-bin
binlog_format=mixed

J'obtiens 2 traces update étonnantes :
UPDATE phpbb_config SET config_value = '84' WHERE config_name = 'fulltext_mysql_max_word_len'
UPDATE phpbb_config SET config_value = '3' WHERE config_name = 'fulltext_mysql_min_word_len'


comme ci phpbb 3.3.4 allait lire les valeurs min et max ailleurs : 3 et 84
Ce sont ces valeurs qui apparaissent dans la table de config et sur la page "paramètres de recherche" -> Mysql Fulltext les 2 valeurs min et max
avec la mention "Seul vous et votre hébergeur internet êtes en mesure de modifier cette option par la configuration de MySQL"

D'où ma question,
ou phpbb 3.3.4 va lire les valeurs min et max ?
et comment les modifier ?

Désolé pour ces longues explications mais j'ai cherché à expliquer le dysfonctionnement avant de vous contacter,
Merci pour vos éclaircissement et vos conseils,
François
Avatar du membre
Sylveretour
Floodeur mature
Floodeur mature
Messages : 1765
Enregistré le : 21 nov. 2017 à 18:24
Localisation : West Coast
Contact :

indexation Mysql fulltext

Message par Sylveretour »

Bonjour,

En fait, tu mélange 2 choses : la recherche via bdd et l'indexation de phpBB
Les 2 sont totalement distinctes et il ne faut pas mélanger.
Via la bdd, il faut distinguer les paramètres selon que les tables soient en Innodb ou en MyIsam.
le paramètre utile est innodb-ft-max-token-size pour Innodb et ft-max-word-len étant pour le moteur MyIsam

Ensuite, pour l'indexation de phpBB, tout se passe dans l'onglet "Paramètres de recherche" de l'admin, par défaut, c'est phpBB Native Fulltext qui est sélectionné avec un nombre de caractères de 3 à 14.
En sélectionnant MySQL Fulltext, c'est là que tu va trouver par défaut les valeurs de 3 à 84

Donc, il n'y a pas le moindre dysfonctionnement mais un mélange de ta part entre la recherche en bdd et l'indexation créée avec les paramètres de recherche de phpBB.
Auteur
atadark
Posteur néophyte
Posteur néophyte
Messages : 6
Enregistré le : 28 avr. 2019 à 16:17

indexation Mysql fulltext

Message par atadark »

Bonjour Sylveretour,

Merci pour ta réponse, je suis content qu'il n'y est pas de dysfonctionnement.
je ne savais pas qu'il y avait distinction des paramêtres MyIsam et Innodb concernant les longueurs des mots.
Je vais donc utiliser innodb_ft_max_token_size et innodb_ft_min_token_size pour "délimiter" la construction de mon index.

Pour clarifier ma compréhension des mécanismes d'indexation et de recherche... (Quand tu me dis que je mélange la recherche via bdd et l'indexation de phpBB ;) )

* Si on choisit la recherche "phpbb natif fulltext", se mettent en place les listes de mots dans les tables phpbb_search_wordlist et phpbb_search_wordmatch. ce n'est pas une indexation SQL, c'est phpbb qui classe les mots.
La recherche native de phpbb utilise ces 2 tables.

* Si on choisit la recherche "mySql fulltext", on utilise les mécanismes internes Innodb ou MyIsam pour indexer les mots.
On crée des indexes sur la table des posts (post_subject, post_content, post_text).
Le mécanisme de recherche dans les posts utilise les mécanismes internes Innodb ou MyIsam et ces indexes SQL.

Est ce qu'il y a quelque chose que j'ai pas bien compris ?
Je n'ai pas trouvé de documentation détaillée sur la recherche, peux tu me dire sur quel est le site de référence ?

Merci pour ton aide,
François
Skouat
Resp. Traducteurs
Resp. Traducteurs
Messages : 15265
Enregistré le : 02 avr. 2008 à 20:47
Contact :

indexation Mysql fulltext

Message par Skouat »

Bonjour,

Je réagi sur ce sujet, même si c'est votre autre sujet qui me fait réagir ici.

Pourquoi ne pas plutôt essayer l'indexation Sphinx ?
Avatar du membre
stone23
Maître-posteur
Maître-posteur
Messages : 492
Enregistré le : 31 mai 2008 à 13:50
Localisation : Entre la chaise et le clavier
Contact :

indexation Mysql fulltext

Message par stone23 »

Salut à tous,
Skouat, quelle est la différence entre sphinx et phpBB Native Fulltext ?
Mon forum
Version forum : 3.3.4
Version php : 8.0.8
Avatar du membre
On Stage
Empereur des posts
Empereur des posts
Messages : 1018
Enregistré le : 19 mars 2018 à 16:04
Contact :

indexation Mysql fulltext

Message par On Stage »

Salut
Sphinx est plus rapide mais il ne fonctionne pas sur les hôtes partagés.
Il doit être installé et configuré sur le serveur.
phpBB version: 3.3.4 | php version: 8.0.7
Quelques traductions d'extensions - GitHub - Arrêter le spam sur phpBB
Avatar du membre
stone23
Maître-posteur
Maître-posteur
Messages : 492
Enregistré le : 31 mai 2008 à 13:50
Localisation : Entre la chaise et le clavier
Contact :

indexation Mysql fulltext

Message par stone23 »

Ah ok, Merci on Stage.
Mon forum
Version forum : 3.3.4
Version php : 8.0.8
Répondre

Retourner vers « Utilisation »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité