PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → HFSQL chercheur d'or
HFSQL chercheur d'or
Iniciado por Roumegou Eric, jun., 23 2017 9:56 AM - 8 respostas
Publicado em junho, 23 2017 - 9:56 AM
Bonjour,

je suis assez satisfait du système de recherche full text de HFSQL,
avec le système de racinisation.

C'est plus rapide que sur mes bases mySQL et surtout cela me trouve des
recherches comme ballerines bleues, ballerine bleu etc ... ce que ne
fait pas mon full text en mysql.

(ça me coûte de reconnaitre ça, moi qui ai toujours daubé HF)

Par contre j'ai un souci avec des mots courts TRES SIGNIFIANTS

ex, je recherche "montre en or" et attendu que le mot fait moins de 3
caractères, or va être ignoré et je vais avoir toutes les montres.
Je pourrais descendre la taille inférieure des index de 3 à 2, mais
j'ai peur de perdre en performance.

Merci de vos idées

--
Roumegou Eric

---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com
Publicado em junho, 23 2017 - 11:09 AM
Roumegou Eric a couché sur son écran :
Bonjour,

je suis assez satisfait du système de recherche full text de HFSQL, avec le
système de racinisation.

C'est plus rapide que sur mes bases mySQL et surtout cela me trouve des
recherches comme ballerines bleues, ballerine bleu etc ... ce que ne fait pas
mon full text en mysql.

(ça me coûte de reconnaitre ça, moi qui ai toujours daubé HF)

Par contre j'ai un souci avec des mots courts TRES SIGNIFIANTS

ex, je recherche "montre en or" et attendu que le mot fait moins de 3
caractères, or va être ignoré et je vais avoir toutes les montres.
Je pourrais descendre la taille inférieure des index de 3 à 2, mais j'ai peur
de perdre en performance.

Merci de vos idées


bon je précise mon besoin
Passer à index 2 n'est pas acceptable, d'autant que j'ai vérifié, il
n'y a que 80 mots de 2 lettres en français, le seul interessant pour
moi est "or" (os, on l'oubliera).
Donc je suis parti sur l'idée d'avoir un champs Keyword, où je
reformaliserais ces mots (exemple "GOLD" à la place de "or").

comment en une requete sql retouver tous les mots "or" (le mot pas les
deux caractères "or") ?
je ne veux pas avoir des pb avec "porte-clé", "alligator, decor ...

ça sent la valeur régulière ...

--
Roumegou Eric

---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com
Publicado em junho, 23 2017 - 12:16 PM
Bonjour,

Si vraiment, il n'y a que le mot OR qui est intéressant, vous pourriez par exemple créer un 2nd champ pour la recherche qui contiendrait le libellé "arrangé" du genre "montre en [OR]" afin de faire une recherche sur [OR] et non "OR"
Mais cela reste de la bidouille :)
Publicado em junho, 23 2017 - 12:19 PM
Roumegou Eric avait prétendu :
Roumegou Eric a couché sur son écran :
Bonjour,

je suis assez satisfait du système de recherche full text de HFSQL, avec le
système de racinisation.

C'est plus rapide que sur mes bases mySQL et surtout cela me trouve des
recherches comme ballerines bleues, ballerine bleu etc ... ce que ne fait
pas mon full text en mysql.

(ça me coûte de reconnaitre ça, moi qui ai toujours daubé HF)

Par contre j'ai un souci avec des mots courts TRES SIGNIFIANTS

ex, je recherche "montre en or" et attendu que le mot fait moins de 3
caractères, or va être ignoré et je vais avoir toutes les montres.
Je pourrais descendre la taille inférieure des index de 3 à 2, mais j'ai
peur de perdre en performance.

Merci de vos idées

bon je précise mon besoin
Passer à index 2 n'est pas acceptable, d'autant que j'ai vérifié, il n'y a
que 80 mots de 2 lettres en français, le seul interessant pour moi est "or"
(os, on l'oubliera).
Donc je suis parti sur l'idée d'avoir un champs Keyword, où je
reformaliserais ces mots (exemple "GOLD" à la place de "or").

comment en une requete sql retouver tous les mots "or" (le mot pas les deux
caractères "or") ?
je ne veux pas avoir des pb avec "porte-clé", "alligator, decor ...

ça sent la valeur régulière ...


je galère ...
une suprématie de HFSQL serait de pouvoir mélanger sql et wlangage. Ok
mais comment ????

ça ça m'est refusé
update fmd_product set keyword='gold'
where
WL.Contient(FMD_PRODUCT.GIF_COMM_FR,"or",MotComplet+SansCasse)=Vrai

et ça bien sûr, ça passe mais c'est pas le résultat voulu
update fmd_product set keyword='gold' where FMD_PRODUCT.GIF_COMM_FR
like '%or%'

Moi je veux le MOT mais je ne peux pas mettre " or " ou "or " ou " or",
car cela peut commencer ou finir par.

--
Roumegou Eric

---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com
Membro registado
57 mensagems
Popularité : +17 (17 votes)
Publicado em junho, 23 2017 - 3:19 PM
Bonjour,

Le plus simple est à mon sens d'indexer les mot de 2 lettres et de compléter la liste des mots vides que propose automatiquement l'éditeur d'analyse avce les mots que vous ne souhaitez pas indexer.

Bon Week-End et Bon Développements.

--
Loïc HAMEL (Twitter : @HAMELLoic)
Support Technique PC SOFT
Publicado em junho, 23 2017 - 4:28 PM
Roumegou Eric a couché sur son écran :
> Bonjour,
salut

je suis assez satisfait du système de recherche full text de HFSQL, avec le
système de racinisation.

C'est plus rapide que sur mes bases mySQL et surtout cela me trouve des
recherches comme ballerines bleues, ballerine bleu etc ... ce que ne fait pas
mon full text en mysql.

en mysql il existe aussi les "stop word" cela doit correspondre au mot
creux, je n'ai pas recherché si l'équivalent de synonime existe

(ça me coûte de reconnaitre ça, moi qui ai toujours daubé HF)

j'allais le dire venant de toi, mais comme on dit il n'y a que les
idiots qui ne change pas d'avis. j'en prend note aussi pour moi si
jamais je dois un jour faire la même chose

Par contre j'ai un souci avec des mots courts TRES SIGNIFIANTS

ex, je recherche "montre en or" et attendu que le mot fait moins de 3
caractères, or va être ignoré et je vais avoir toutes les montres.
Je pourrais descendre la taille inférieure des index de 3 à 2, mais j'ai peur
de perdre en performance.

Merci de vos idées


--
Cordialement JeAn-PhI
Publicado em junho, 23 2017 - 4:40 PM
Roumegou Eric a pensé très fort :
Roumegou Eric avait prétendu :
Roumegou Eric a couché sur son écran :
Bonjour,

je suis assez satisfait du système de recherche full text de HFSQL, avec
le système de racinisation.

C'est plus rapide que sur mes bases mySQL et surtout cela me trouve des
recherches comme ballerines bleues, ballerine bleu etc ... ce que ne fait
pas mon full text en mysql.

(ça me coûte de reconnaitre ça, moi qui ai toujours daubé HF)

Par contre j'ai un souci avec des mots courts TRES SIGNIFIANTS

ex, je recherche "montre en or" et attendu que le mot fait moins de 3
caractères, or va être ignoré et je vais avoir toutes les montres.
Je pourrais descendre la taille inférieure des index de 3 à 2, mais j'ai
peur de perdre en performance.

Merci de vos idées

bon je précise mon besoin
Passer à index 2 n'est pas acceptable, d'autant que j'ai vérifié, il n'y a
que 80 mots de 2 lettres en français, le seul interessant pour moi est "or"
(os, on l'oubliera).
Donc je suis parti sur l'idée d'avoir un champs Keyword, où je
reformaliserais ces mots (exemple "GOLD" à la place de "or").

comment en une requete sql retouver tous les mots "or" (le mot pas les deux
caractères "or") ?
je ne veux pas avoir des pb avec "porte-clé", "alligator, decor ...

ça sent la valeur régulière ...

je galère ...
une suprématie de HFSQL serait de pouvoir mélanger sql et wlangage. Ok mais
comment ????

ça ça m'est refusé
update fmd_product set keyword='gold'
where WL.Contient(FMD_PRODUCT.GIF_COMM_FR,"or",MotComplet+SansCasse)=Vrai

et ça bien sûr, ça passe mais c'est pas le résultat voulu
update fmd_product set keyword='gold' where FMD_PRODUCT.GIF_COMM_FR like
'%or%'

Moi je veux le MOT mais je ne peux pas mettre " or " ou "or " ou " or", car
cela peut commencer ou finir par.


salut
ce que tu cherches est le mot "or" (le métal et non la conjonction)
donc je dirais que le mot "or " est exclu car il ne peut commencer
à moins que je n'ai pas toutes les explication mais rien n'empeche de
faire "like 'or ' or ... like ' or ' or ... like ' or'"

--
Cordialement JeAn-PhI
Publicado em junho, 23 2017 - 5:00 PM
Loic a couché sur son écran :
Bonjour,

Le plus simple est à mon sens d'indexer les mot de 2 lettres et de compléter
la liste des mots vides que propose automatiquement l'éditeur d'analyse avce
les mots que vous ne souhaitez pas indexer.

Bon Week-End et Bon Développements.


Merci de cette suggestion qui en fait doit être la meilleure.
Et qui fonctionne.

Mes autres contournements étaient en fait beaucoup plus lourds que
cette option de descendre la taille des mots.

Merci encore.


--
Roumegou Eric

---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com
Publicado em junho, 23 2017 - 5:12 PM
JeAn-PhI a couché sur son écran :
Roumegou Eric a couché sur son écran :
Bonjour,
salut


je suis assez satisfait du système de recherche full text de HFSQL, avec le
système de racinisation.

C'est plus rapide que sur mes bases mySQL et surtout cela me trouve des
recherches comme ballerines bleues, ballerine bleu etc ... ce que ne fait
pas mon full text en mysql.
en mysql il existe aussi les "stop word" cela doit correspondre au mot creux,

je n'ai pas recherché si l'équivalent de synonime existe

(ça me coûte de reconnaitre ça, moi qui ai toujours daubé HF)
j'allais le dire venant de toi, mais comme on dit il n'y a que les idiots qui

ne change pas d'avis. j'en prend note aussi pour moi si jamais je dois un
jour faire la même chose


Bonjour Jean Phi
et oui une bonne note pour cette racinisation. C'est autre chose que
les synonymes mais c'est encore mieux. Est ce que mysql a ce genre de
fonctions aussi, je ne sais pas ? Pas trouvé dans google alors que j'ai
cherché un moment; et puis les histoires d'accents, de conjugaisons
pour les anglos saxons ...

Donc je n'ai jamais aucun pb pour changer d'avis, au contraire, je suis
d'emblée ouvert à ce genre de choses. Mais en ayant crisé toute la
journée sur ce pauvre centre de contrôles, la base scratchée à cause
des transactions, des requetes qui ont plombé mon serveur jusqu'à ce
que j'arrête MAnta ... je reste sur mon baril de mySQL

mon full text HFSQL avec sa racinisation pour les recherches complexes
Ok,je prends !
mais tout le reste reste en mySQL.
ça va bien, j'ai organisé ça en webservice; donc cela sert du json.

Bon we

--
Roumegou Eric

---
Cet email a fait l'objet d'une analyse antivirus par AVG.
http://www.avg.com