Annonce

#46 2011-03-03 11:00:35

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Commande de recherche

Le problème de base est la recherche sur plusieurs mots.

Je suis d'accord avec www.photons.fr, par défaut, on devrait sortir du "ET" et pas du "OU", sinon plus la chaîne recherchée est longue, plus il y aura de résultat, ce qui n'a pas de sens, puisqu'en précisant la recherche (= en allongeant la chaîne recherchée) on devrait diminuer le nombre de résultats, comme quand on navigue par tag en affichant d'abord "Pierre" puis "Pierre + New York" et enfin "Pierrick + New York + nuit".

Avec la recherche rapide, au lieu de taper "mot1 mot2", pour être sûr d'avoir les 2 mots, il faut taper "+mot1 +mot2", ce qui relève en effet du jargon d'informaticien et n'est donc pas à exiger des utilisateurs.

La requête SQL pour le nom/description des photos est :

Code:

SELECT i.id,
    MATCH(i.name, i.comment) AGAINST( 'erwann tiphaine' IN BOOLEAN MODE) AS weight
  FROM piwigo_images i
  WHERE (MATCH(i.name, i.comment) AGAINST( 'erwann tiphaine' IN BOOLEAN MODE)
    OR (CONVERT(file, CHAR) LIKE '%erwann%' OR CONVERT(file, CHAR) LIKE '%tiphaine%'))
;

Avec la recherche "avancée", l'équivalent est :

Code:

SELECT DISTINCT(id)
  FROM piwigo_images
  WHERE (
         (file LIKE '%erwann%'
          OR name LIKE '%erwann%'
          OR comment LIKE '%erwann%'
          OR author LIKE '%erwann%')
         AND
         (file LIKE '%tiphaine%'
          OR name LIKE '%tiphaine%'
          OR comment LIKE '%tiphaine%'
          OR author LIKE '%tiphaine%'))
;

C'est sans doute moins puissant du point de vue utilisation des possibilités de MySQL, mais ça fournit un résultat plus juste : seules les photos qui contiennent "erwann" dans l'un de champs {file, name, comment, author} et "tiphaine" dans l'un des champs {file, name, comment, author}  sortira de cette requête.

Pour les tags, ça me semble plus compliqué. Imaginons que j'ai les tags suivants : "Erwann", "Erwann à la plage", "Erwann fait le pitre", "Tiphaine", "Tiphaine à la mer", "Tiphaine à la montagne", "Tiphaine à l'école", "Tiphaine et Erwann mangent des pommes" et enfin le fameux "Erwann et Tiphaine font les guignols" (je pourrais en avoir un paquet des photos taggées comme ça).

Il faudrait des groupes de photos selon les tags :

1) les 110 photos qui sont liées à l'un des 3 tags qui matchent "erwann"
2) les 234 photos qui sont liées à l'un des 4 tags qui matchent "tiphaine"
3) les 12 photos qui sont liées à l'un des 2 tags qui matchent "erwann" et "tiphaine"

Les photos valides sont celles qui appartiennent aux groupes 1 et 2 ou au groupe 3.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#47 2011-03-03 11:32:23

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Commande de recherche

Je tiens à ajouter qu'en utilisation "de tous les jours", je trouve que la recherche rapide, c'est génial (en tout cas sur un mot unique). Ca fait ce à quoi l'utilisateur s'attend sans qu'il ait à se poser de question, sans 26 cases à cocher comme dans la recherche avancée.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#48 2011-03-03 13:59:53

jeanjon
Membre
2011-01-31
139

Re: Commande de recherche

sur ma base j'ai deux type de rivieres:

la drome
l'ardèche


si je tape dans recherche simple:

drome et riviere

le moteur de recherche affiche toutes les photos de riviere mais egalement toutes les photos de la drome?

faut il supprimer dans la legende drome?et seulement rajouter un tag DROME a toutes les photos pour resoudre le probleme

Hors ligne

#49 2011-03-03 14:07:36

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Commande de recherche

jeanjon a écrit:

faut il supprimer dans la legende drome?et seulement rajouter un tag DROME a toutes les photos pour resoudre le probleme

Le plus sûr est de passer par les tags et demander à afficher les photos tagguées "drome" puis cliquer sur "+ riviere" dans la liste des tags liés qui s'affiche dans la barre de menu. C'est l'idéal en terme de précision. Encore faut-il avoir taggué toutes ses photos.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#50 2011-03-03 15:00:28

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: Commande de recherche

plg a écrit:

jeanjon a écrit:

faut il supprimer dans la legende drome?et seulement rajouter un tag DROME a toutes les photos pour resoudre le probleme

Le plus sûr est de passer par les tags et demander à afficher les photos tagguées "drome" puis cliquer sur "+ riviere" dans la liste des tags liés qui s'affiche dans la barre de menu. C'est l'idéal en terme de précision. Encore faut-il avoir taggué toutes ses photos.

... et encore faut-il que le visiteur lambda sache utiliser ce procédé.

Une recherche donne un résultat et en général on se satisfait de ce résultat. S'il faut affiner (ce qui est super en soi !) autant prévenir dès le début, avant même le lancement de la recherche qui porterai sur une requête trop précise Ex : drome et riviere

M'enfin on s'éloigne de la demande qui porte sur un nouvelle fonctionnalité (ou sur une prestation privée).


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#51 2011-03-03 15:26:19

rvelices
Équipe Piwigo
2005-12-29
1417

Re: Commande de recherche

plg a écrit:

C'est sans doute moins puissant du point de vue utilisation des possibilités de MySQL, mais ça fournit un résultat plus juste : seules les photos qui contiennent "erwann" dans l'un de champs {file, name, comment, author} et "tiphaine" dans l'un des champs {file, name, comment, author}  sortira de cette requête.

Pas d'accord, car avec le MATCH full text on aura un ordre des images. Le poids: d'abord les photos qui contiennent Erwan ET Tiphaine suivies par celles qui contient soit l'un soit l'autre. En cas de poids egal, l'ordre de tri de la galerie prend le relai ...

En fait si tu veut avoir de ET, c'est possible en cherchant +erwan +tiphaine

plg a écrit:

Pour les tags, ça me semble plus compliqué....

C'est exact - pour faire bien il faudra faire N requetes sur les tags ou ma solution (utilisé aussi par gallery 3) qui consiste à avoir une table avec image_id, concat(nom, description, tags, categories etc ...).

Dernière modification par rvelices (2011-03-03 15:27:11)

Hors ligne

#52 2011-03-03 20:14:29

plg
Équipe Piwigo
Nantes, France, Europe
2002-04-05
12644

Re: Commande de recherche

rvelices a écrit:

Pas d'accord, car avec le MATCH full text on aura un ordre des images. Le poids: d'abord les photos qui contiennent Erwan ET Tiphaine suivies par celles qui contient soit l'un soit l'autre.

Mettons de côté le problème des tags qui fonctionnent en mode OU.

Que l'on place les résultats contenant les 2 mots en premiers, c'est bien. Mais il ne faudrait pas montrer les autres du tout. Quand la recherche est un mode de navigation majeur d'une galerie, sortir des résultats en OU paraît clairement erroné. C'est un point de vue bien sûr.

rvelices a écrit:

En fait si tu veut avoir de ET, c'est possible en cherchant +erwan +tiphaine

Oui, c'est mieux avec les "+". Ne pourrait-on pas ajouter automatiquement les "+" devant chaque mot avant de lancer la requête SQL ?

Par ailleurs, je ne sais pas comment se comporte PostgreSQL, je suppose que ça ne marche pas.

L'utilisation de MATCH AGAINST, c'est sans doute très intéressant, mais j'ai du mal à voir l'argument percutant par rapport au LIKE. Certes la requête est plus simple en MATCH AGAINST (surtout s'il y a de nombreux mots à dans la requête de recherche). Pour le moment, telle que je la comprends, la notion de "poids" n'a de sens que parce qu'on peut afficher du OU. Si on considère que l'on doit faire du ET, le poids n'a plus d'intérêt.

rvelices a écrit:

plg a écrit:

Pour les tags, ça me semble plus compliqué....

C'est exact - pour faire bien il faudra faire N requetes sur les tags ou ma solution (utilisé aussi par gallery 3) qui consiste à avoir une table avec image_id, concat(nom, description, tags, categories etc ...).

hum... un cache à la fois gourmand en volume et  qui va nécessiter une mise à jour à chaque modification des propriétés de la photo, du nom du tag, de l'association d'un tag, de la modification de la description de l'album, etc. => complexe.

Si Piwigo était prioritairement un moteur de recherche de photo, je dirais que c'est une une très bonne voie à suivre, mais ce n'est pas le cas.

Alors certes pour faire bien les choses, il y a davantage de requêtes SQL à faire pour trouver les bonnes photos, mais ce n'est pas non plus une augmentation exponentielle. Pour N mots dans la recherche, on va faire N+1 requêtes sur la table des tags.


Les historiens ont établi que Pierrick était le premier utilisateur connu de Piwigo.

Hors ligne

#53 2011-03-09 13:03:18

www.photons.fr
Membre
2011-01-06
48

Re: Commande de recherche

Bonjour à tous,

Entre temps j'ai rapidement regardé d'autres bases d'images publiées sur le web et la recherche est toujours en ET (donc correcte à mon point de vue). Les bases que j'ai vu sont construites avec  PHPWebGallery, Gallery2 et 3 et Coppermine + 3 bases ou il n'a pas été mentionné "Powered by xxx".

Je viens de tester "+Briançon +Neige".
Il me sort tout ce qui est briançon et tout ce qui est neige...et aussi "briançon ET neige".
Donc dans mon exemple beacoup trop de choses car je veux bien les photos de "briançon ET neige" et pas les photos de briançon ET les photos de neige (nuance).

Si j'ai bien compris, ce fonctionnement est normal et convient aux utilisateurs piwi.

En fait je crois comprendre que la recherche a été construite de manière astucieuse pour essayer de toujours donner un résultat...même approchant. Un peu le principe des moteurs de recherches Web. Le but étant de faire voir que le contenu est riche et qu'il y a plein de choses.

Je vais re essayer de me bricoler un truc dans la fonction de recherche rapide...

Amicalement,

Georges

Hors ligne

#54 2011-03-14 17:34:49

www.photons.fr
Membre
2011-01-06
48

Re: Commande de recherche

Bonjour,

Je n'arrive pas à modifier correctement cette recherche sans que cela m'affiche des erreurs une fois sur 3 ou 4 recherches. De plus, je crains que lors de prochaines mises à jour piwigo mes bricolages ne provoquent encore plus d'effets de bord. Donc c'est assez risqué.

J'avais demandé plus haut si il était possible que le team piwi nous fasse une modif propre et pérenne. Ma question tient toujours.... :o)))

Amitiés,

Georges

Hors ligne

#55 2011-03-18 08:58:05

rvelices
Équipe Piwigo
2005-12-29
1417

Re: Commande de recherche

Je vais ameliorer la recherche rapide notamment le matching de tags. Je ne sais pas quand j'aurai le temps, mais ca sera probablement dans la prochaine version 2.2 ou au pire des cas pour la 2.2.1

Hors ligne

#56 2011-03-18 09:47:32

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: Commande de recherche

rvelices a écrit:

Je vais ameliorer la recherche rapide notamment le matching de tags. Je ne sais pas quand j'aurai le temps, mais ca sera probablement dans la prochaine version 2.2 ou au pire des cas pour la 2.2.1

Bonne nouvelle ! Merci RVelices :-)


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#57 2011-04-13 16:16:48

www.photons.fr
Membre
2011-01-06
48

Re: Commande de recherche

Bonjour à tous,

J'ai installé la dernière version de piwigo à sa sortie.
Apparement la recherche n'est pas encore améliorée dans cette version.

En attendant on a finalisé une première version de notre base de données d'images.

Voici le lien : www.imalpes.fr

Ca commence à tomber en marche à peu près comme on veut :)

Juste la recherche qui produit des résultats "rigolos" (mais pas très pertinents).

A+

Hors ligne

#58 2011-04-13 16:19:59

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Commande de recherche

ça été fait il y a quelques heures, comme l'a dit rvelices ça sera intégré pour le 2.2.1
http://piwigo.org/dev/changeset/10340

si vous êtes vraiment pressé vous pouvez télécharger le nouvelle version du fichier (en sauvegardant l'original !)

Dernière modification par mistic100 (2011-04-13 16:20:13)

Hors ligne

#59 2011-04-13 16:33:14

www.photons.fr
Membre
2011-01-06
48

Re: Commande de recherche

Merci pour l'info :)
Je télécharge comment ? Copier-Coller du texte php ?

Hors ligne

#60 2011-04-13 16:34:14

mistic100
Ex Equipe Piwigo
Lyon
2008-09-27
3561

Re: Commande de recherche

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact