Aller au contenu
Invision Board France
  • 1

Champ de recherche 3 lettres


blade11

Question

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 ?

Lien vers le commentaire
Partager sur d’autres sites

Messages recommandés

  • 1

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 

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 2

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.

 

 

 

Modifié par cybero
Correction lien IPS
  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1

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).

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1
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

Modifié par blade11
Lien vers le commentaire
Partager sur d’autres sites

  • 1

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 ?

Lien vers le commentaire
Partager sur d’autres sites

  • 1

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 ?

Lien vers le commentaire
Partager sur d’autres sites

  • 1

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 ?

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1
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é..

 

 

Modifié par blade11
Lien vers le commentaire
Partager sur d’autres sites

  • 1
  • Administration

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"

 

  • J’aime 2
Lien vers le commentaire
Partager sur d’autres sites

  • 1
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 ?

 

Lien vers le commentaire
Partager sur d’autres sites

  • 1

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

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1

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.

Modifié par blade11
  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1

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...

  • J’aime 1
Lien vers le commentaire
Partager sur d’autres sites

  • 1
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.

Lien vers le commentaire
Partager sur d’autres sites

  • 1

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.

Lien vers le commentaire
Partager sur d’autres sites

  • 1

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.

 

Lien vers le commentaire
Partager sur d’autres sites

  • 1

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...

 

 

  • J’aime 2
Lien vers le commentaire
Partager sur d’autres sites

  • 0

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 .

Modifié par brazoka
Lien vers le commentaire
Partager sur d’autres sites

  • 0
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 ^^

Modifié par brazoka
Lien vers le commentaire
Partager sur d’autres sites

  • 0
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

 

Lien vers le commentaire
Partager sur d’autres sites

  • 0

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

 

Lien vers le commentaire
Partager sur d’autres sites

  • 0

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é.

Modifié par blade11
Lien vers le commentaire
Partager sur d’autres sites

  • 0

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 ?

Modifié par blade11
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à cette question…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...

Information importante

En utilisant ce site, vous êtes d’accords avec nos Conditions d’utilisation. Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookies, sinon nous supposerons que vous êtes d’accord pour continuer.