Jump to content
Invision Board France
  • 1
Sign in to follow this  
blade11

4.2 Champ de recherche 3 lettres

Question

blade11

Bonjour,

 

Une question "personnelle" au staff si la réponse n'est pas indiscrète. Je peste depuis plusieurs années sur l'impossibilité de saisir un mot inférieur à 4 lettres depuis le champ de recherche. En effet, sur mon secteur, le nombre de sigles très connus avec 3 lettres seulement atteint facilement la centaine de mots.

 

A ma grande surprise, je constate que votre champ de recherche permet la rcherche de mots de 3 lettres. Ce serait indiscret de savoir comment vous avez fait ?

Share this post


Link to post
Share on other sites

Recommended Posts

  • 1
Soundamental

Je crois que c'est un réglage à faire, mais ptet en dur, pas dans le panel admin. Ou bien un plugin ?

 

Sinon ça devrait marcher sur n'importe quel forum si tu mets des guillemets autour des 3 lettres -> "abc"

Les guillemets permettent une recherche sur le terme exact et ça évite de demander au programme de chercher TOUS les mots qui contiennent ces lettres (raison du blocage).

  • Like 1

Share this post


Link to post
Share on other sites
  • 1
blade11
il y a 17 minutes, Soundamental a dit :

Sinon ça devrait marcher sur n'importe quel forum si tu mets des guillemets autour des 3 lettres -> "abc"

 

Ach, ça se corse. Effectivement, ça marche ici et chez toi.

Ca ne marche absolument pas "chez moi" avec ou sans guillemets. Sinon je n 'aurais évidemment pas posé la question. :) 

 

J'ai la 4.2.8. Que se passe-t-il ? Bon sang de bon sang, d'où vient le problème ?

 

il y a 17 minutes, Soundamental a dit :

Je crois que c'est un réglage à faire, mais ptet en dur, pas dans le panel admin. Ou bien un plugin ?

 

Pourquoi parles-tu de régalge en dur ? Ca marche sur ton site, même sans guillemets, je viens de vérifier

Edited by blade11

Share this post


Link to post
Share on other sites
  • 1
blade11

Donc je confirme. Je semble être seul à avoir le problème. Impossible de rechercher un mot de 3 lettres, j'obtiens toujours 0 résultat quel que soit le mot.  C'est embêtant. Je pense que la réponse doit se trouver dans le codage, une limitation quelconque. Une idée ?

Share this post


Link to post
Share on other sites
  • 1
cybero

Chez moi les recherches sur 3 caractères fonctionnement également

Je n'ai pas trouvé de configuration de ce type dans PCAdmin 

 

Peut-être peux-tu essayer de reconstruire l'index de recherche ?

Share this post


Link to post
Share on other sites
  • 1
blade11

Ca confirme.

 

merci, évidemment je l'avais fait. Je l'ai laissé tourner plusieurs heures.

 

Ca serait pas un histoire de compatibilté de Jeu de caractères au niveau de serveur ? Je n'avais pas fait le rapprochement mais un membre ne peut pas non plus s'inscrire si son pseudo n'a que 3 lettres. A 4, il peut. Un rapport ?

  • Like 1

Share this post


Link to post
Share on other sites
  • 0
brazoka

Bonjour j'ai fait un test effectivement si je tape frui il le trouve rien si je tape fruit il trouve le sujet ../ ? je ne pense pas que la recherche à quelque chose à voire avec le nombres de lettre sur la création de pseudo chez moi ll et sur 5 .

Edited by brazoka

Share this post


Link to post
Share on other sites
  • 1
blade11
Le 19/03/2018 à 11:06, cybero a dit :

Peut-être peux-tu essayer de reconstruire l'index de recherche ?

 

je t'ai répondu et mon message est remonté dans la chronologie du sujet. Bizarre.

 

Je re-réponds.

 

Ce n'est aps un problème d'index, j'ai réindexé 18 fois et tout est OK sauf les 3 mots de 3 lettres :)

 

Je suis sûr à 90% :

-d'être un cas isolé qui rencontre ce problème

-que la réponse doit se trouver du côté du codage UTF ou un truc de ce genre, et de la base de données. Mais où dois-je chercher dans la base, je ne suis pas suffisamment expert pour trouver. 

 

@brazoka a priori, ta réponse n'a rien à voir avec le problème que j'évoque. Ou alors je l'ai mal comprise, désolé..

 

 

Edited by blade11

Share this post


Link to post
Share on other sites
  • 1
PersonalMode

Après plusieurs tests sur ma communauté et sur celle d'IBF, je note que la recherche n'est pas basée sur le nombre de caractère mais bien sur un mot exact.

 

Si tu fais une recherche en tapant "frui" tu ne devrais rien trouvé SAUF si tous les membres s'amusent à écrire Fruit sans le T... 

 

Un test tout simple sur mon site, en utilisant le mot clé "Joh",  je n'obtiens rien, mais en tapant "John" je retrouve les différentes pages liées + les messages/commentaires des membres ayant écrit "John"

 

  • Like 2

Share this post


Link to post
Share on other sites
  • 0
brazoka
il y a 14 minutes, PersonalMode a dit :

Après plusieurs tests sur ma communauté et sur celle d'IBF, je note que la recherche n'est pas basée sur le nombre de caractère mais bien sur un mot exact.

 

Si tu fais une recherche en tapant "frui" tu ne devrais rien trouvé SAUF si tous les membres s'amusent à écrire Fruit sans le T... 

 

Un test tout simple sur mon site, en utilisant le mot clé "Joh",  je n'obtiens rien, mais en tapant "John" je retrouve les différentes pages liées + les messages/commentaires des membres ayant écrit "John"

 

à bon merci  t'es un dieux ^^

Edited by brazoka

Share this post


Link to post
Share on other sites
  • 1
blade11
Il y a 2 heures, PersonalMode a dit :

Après plusieurs tests sur ma communauté et sur celle d'IBF, je note que la recherche n'est pas basée sur le nombre de caractère mais bien sur un mot exact.

 

Bonjour,

 

Oui tout à fait, je suis arrivé aux mêmes conclusions. 

 

Pour mon problème, une autre piste ?

 

Share this post


Link to post
Share on other sites
  • 1
cybero

Pour ton soucis de longueur de pseudo ?

C'est paramétrable dans le PCAdmin... voir déjà de ce côté :)

 

Membres ==> Profils ==> Paramètres des profils

 

image.png.ed8f578bd960a0589e57b2c842182c23.png

 

 

Mais je pense que les 2 n'ont rien à voir

  • Like 1

Share this post


Link to post
Share on other sites
  • 1
blade11

Merci

 

J'avias bien mis entre 3 et 26. Trois est refusé à l'inscription. Pas normal, n'est-ce pas ?

 

Je mets 2 pour voir.

Edited by blade11
  • Like 1

Share this post


Link to post
Share on other sites
  • 1
Soundamental

La question était "souvent" posée autrefois, ici-même il me semble.

Je ne me souviens pas de comment le problème s'est résolu en fait, si c'est moi qui aie fait une manip ou si ce sont les développeurs du forum qui ont fait quelque chose. Ca date...

  • Like 1

Share this post


Link to post
Share on other sites
  • 1
blade11
il y a 25 minutes, Soundamental a dit :

La question était "souvent" posée autrefois, ici-même il me semble.

Je ne me souviens pas de comment le problème s'est résolu en fait, si c'est moi qui aie fait une manip ou si ce sont les développeurs du forum qui ont fait quelque chose. Ca date...

 

Apparemment ce serait plutôt les développeurs d'iPS, puisque prsonne ne rencontre le souci (hormis myself). Et effectivement je l'ai vérifié sur 3 forums qui n'ont pas le problème.

Share this post


Link to post
Share on other sites
  • 2
cybero

Peut-être un axe à voir pour la version 4.3

 

==> 4.3 Search Changes

 

Notamment à partir de ce message

 

Il y a 2 heures, Ryan Ashbrook a dit :

This is because MySQL has a four character limit by default, whereas Elastic Search (which we are using here, introduced in 4.3) does not.

 

Cette recherche améliorée passe par l'utilisation de Elasticsearch

Désolé en anglais...

 

Révélation

Elasticsearch
In Invision Community 4.3 we are adding native support for Elasticsearch, a third party search engine which offers a number of benefits over searching your MySQL database:

  • Elasticsearch, being designed and indexing data in a way optimised for search rather than data storage, is generally able to match and sort by relevancy with better accuracy than MySQL.
  • Elasticsearch is generally faster. One user performing a search doesn't slow down other users trying to read and make posts at the same time (when searching MySQL, the data has to be "locked" from changes when the search is being performed). It scales very well with very large datasets, and runs very easily on multiple servers.
  • Elasticsearch understands language. If for example, you search for "community", it will also return results which contain the word "communities", understanding that these are the same. Supported languages are Arabic, Armenian, Basque, Brazilian, Bulgarian, Catalan, Chinese, Czech, Danish, Dutch, English, Dinnish, Drench, Galician, German, Greek, Hindi, Hungarian, Indonesian, Irish, Italian, Japanese, Korean, Latvian, Lithuanian, Norwegian, Persian, Portuguese, Romanian, Russian, Sorani, Spanish, Swedish, Turkish, Thai.
  • Elasticsearch supports custom functions on the scoring algorithm. In our initial implementation this has allowed us to add settings to allow you to control the time decay (allowing newer results to show higher) and author boost (allowing content posted by the user to optionally show higher in results).
  • Unlike with MySQL, there is no minimum query length and a very small list of stop words.

 

 

 

Edited by cybero
Correction lien IPS
  • Like 1

Share this post


Link to post
Share on other sites
  • 1
blade11

ah oui, bravo, c'est une sacrée bonne pioche !

 

Je vais donc attendre la 4.3 définitive. 

 

MySQL a donc une limite par défaut de 4 caractères. J'étais pas fou, c'est sûrement ça qui me pose problème.

Share this post


Link to post
Share on other sites
  • 1
cybero

Attention cependant, l'usage de ElasticSearch nécessitera sa présence sur son serveur (ou hébergeur...) ou bien prendre une "solution hébergée"

 

Citation

To use Elasticsearch, you can either install it yourself on your own server, or use any of the many excellent hosted Elasticsearch options. The minimum required Elasticsearch version is 5.5.

 

Share this post


Link to post
Share on other sites
  • 0
blade11
Il y a 8 heures, cybero a dit :

Attention cependant, l'usage de ElasticSearch nécessitera sa présence sur son serveur (ou hébergeur...) ou bien prendre une "solution hébergée"

 

 

je me suis peut-être réjoui un peu vite.

 

je n'avais pas vu que l'installation était longue comme le bras...

tout à fait dissuasif pour ma part

 

Share this post


Link to post
Share on other sites
  • 0
cybero

Personnellement je me renseignerai auprès de mon hébergeur (o2switch) voir ce qu'il est possible de faire :)

(De toute façon ce n'est pas un dédié, je n'ai pas le choix :ph34r:)

 

En tout cas ce n'est pas dans les fonctionnalités proposées dans le cpanel

 

Share this post


Link to post
Share on other sites
  • 0
blade11

merci du conseil !

 

Ca n'explique pas malgré tout (je fais un flash-back) la question de savoir pourquoi un forum dont j'ai acheté la licence, dont je paye les renouvellements,  et que je mets à jour régulièrement, n'est pas fichu de sortir des mots de 3 lettres dans son champ de recherche, alors que les petits copains, qui ont la même licence, n'ont aucun problème avec ça. J'ai vraiment un nombre important de termes de 3 lettres tout à fait pertinents sur mon secteur d'activité et aucun ne peut être trouvé.

Edited by blade11

Share this post


Link to post
Share on other sites
  • 1
cybero

Je ne pense pas qu' IPS soit responsable pour le coup (à moins que tu ne sois hébergé chez eux)

 

Suite réflexions et recherches sur ce sujet

La doc MySQL indique (ici) qu'une variable sert pour ce genre de choses (En fait 2... selon le fait que tu utilises MyIsam ou InnoDB)

 

Citation

 

The minimum and maximum lengths of words to be indexed are defined by the innodb_ft_min_token_size and innodb_ft_max_token_size for InnoDB search indexes, and ft_min_word_len and ft_max_word_len for MyISAM ones.


 

 

De mon côté j'ai les valeurs suivantes (Interrogation via la boite à outils Mysql de PCAdmin par exemple)

 

image.png.9ce01a673292eca73823befab9436bf9.png

 

 

Je t'invite à vérifier la valeur de ces variables pour ton hébergement :)

Comme indiqué plus haut, la valeur par défaut est 4...

 

 

  • Like 1

Share this post


Link to post
Share on other sites
  • 0
blade11

trop fort

 

je n'ai pas le second mais j'ai un résultat fournissant la première variable (ft_min_word_len )

la valeur est effectivement à 4 -_-

 

je ne suis pas à l'aise avec la procédure pour la modifier, c'est pas moi qui fais ça d'habitude. J'abuse : un conseil peut-être ?

Edited by blade11

Share this post


Link to post
Share on other sites
  • 1
cybero

Ce qui suit implique à mon avis trop de droits pour être applicable sur du mutualisé basique (variable système), à voir selon les droits que tu as avec ton hébergement

Sinon se rapprocher de ton hébergeur pour demander si la modif est possible
(Je pense que modifier ce paramètre implique plus de ressources pour indexer... peut-être pas dispo selon l'offre)

 

Bref !

 

De ce que j'ai lu cela se configure dans le fichier my.cnf et ajouter le paramétrage suivant (Pour MyIsam)

[mysqld]
ft_min_word_len = 3

 

Il faut ensuite redémarrer le service et mysql ET lancer une réindexation 

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.