Test - requête - Permis et licence
{{#ask:
[[Permis et licence::+]]
|?Permis et licence
}}
Problème à signaler
Les mots de trois lettres et moins sont ignorés. Par exemple, le mot "Bar" avec la requête : ~Bar. Il faut plutôt utiliser la requête : like:*Bar* C'est une limite de SQL. Il faut redéfinir la valeur de la variable : ft_min_word_len=4 à ft_min_word_len=3. Pour corriger, il faut :
1) créer un fichier ./db-conf/ft.cnf avec le contenu suivant :
[mysqld]
innodb_ft_min_token_size=3
ft_min_word_len=3
2) Modifier le fichier docker-compose.override.yml :
services:
db:
volumes:
- ./db-conf/ft.cnf:/etc/mysql/conf.d/ft.cnf:ro
3) Exécuter la commande :
docker compose up -d --force-recreate <nom du conteneur db>
4) Reconstruire l'index en exécutant la commande :
rebuildFulltextSearchTable.php
Donnée de test
{{#set:
|Permis et licence=Bar foo baz Épicerie
}}
Contrôle de base
{{#ask:
[[Permis et licence::+]]
|?Permis et licence
|mainlabel=Page
|limit=50
}}
| Page | Permis et licence |
|---|---|
| Test - requête - Permis et licence | Bar foo baz Épicerie |
Un mot sans joker
{{#ask:
[[Permis et licence::~baz]]
|?Permis et licence#-hl <== Ici, mets en surbrillance le mot recherché
|mainlabel=Page
|format=broadtable
|limit=50
|headers=show
}}
| Page | Permis et licence |
|---|---|
| Test - requête - Permis et licence | Bar foo baz Épicerie |
Regex
{{#ask:
[[Permis et licence::~/(?i)licence/]]
|?Permis et licence
|mainlabel=Page
}}
Recherche plein-texte debug
{{#ask:
[[~~licence]]
|format=broadtable
|limit=50
|headers=show
|link=all
}}
Fallback sans ft like
{{#ask:
[[Permis et licence::like:*Bar*]]
|?Permis et licence#-hl
|mainlabel=Page
|format=table
}}
{{#ask:
[[Permis et licence::like:*Bar*]]
[[Permis et licence::like:*Épicerie*]]
|?Permis et licence#-hl
|mainlabel=Page
|format=table
}}
| Page | Permis et licence |
|---|---|
| Test - requête - Permis et licence | Bar foo baz Épicerie |
| Page | Permis et licence |
|---|---|
| Test - requête - Permis et licence | Bar foo baz Épicerie |