Recherche solution pour moteur de recherche multi-critères sous drupal 6

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour,
Je cherche à mettre en place un moteur de recherche multi-critères sous Drupal 6, avec plusieurs champs dans lesquels l'internaute pourrait faire un choix au sein de listes fermées, puis se voir proposer une liste de résultats classables idéalement selon plusieurs critères au choix. Ce moteur serait présent dès la page d'accueil de mon site et permettrait de rechercher parmi des billets proposant des contenus structurés d'une façon très précise via le module CKK. Connaissez-vous un ou plusieurs modules qui pourrai(ent) m'aider à construire un tel moteur de recherche sous Drupal 6 ? J'ai bien des réponses dans votre forum, mais elles ne concernent que des modules fonctionnant sous D5 au mieux. Merci de votre aide.

Version de Drupal : 

C'est une interface de recherche qui permet de rechercher un objet en affinant sa recherche petit à petit avec des critères de plus en plus ciblés. Les facettes sont les caractéristiques de cet objet. Par exemple un hôtel peut-être décrit selon plusieurs facettes : type, emplacement, prix...

Cela permet notamment d'éviter de remplir les 15 critères d'un formulaire de recherche pour ne se voir proposer aucun résultats.

Par exemple , tu recherche un gite pour tes prochaines vacances :
* Tu cliques sur rechercher un "gite" --> 100 résultats s'affichent
* Tu clique sur "Aquitaine" --> 10 résultat
* Tu cliques sur "50 €" --> 2 résultats --> tu arrêtes ta recherche là

Pour voir un cas pratique de mise en oeuvre : http://www.ineaguide.org/faceted_search/results/taxonomy%253A8

Alex
www.ineation.com

C'est une espèce de recherche guidée que tu peux affiner au fil de l'eau.

Recherche guidée.

Plutôt que de faire une recherche full texte (comme sur Google), tu recherches sur des champs précis (= des facettes).

Par exemple, supposons que tu aies une base de données de restaurants. Tu peux faire des recherches du style "type de restaurant = italien", ou "horaires = ouvert après 23h", ou "ville = paris"...

Les facettes exposent les différents champs des contenus indexés au moteur de recherche.

Affiner au fil de l'eau.

Tu peux définir successivement plusieurs facettes, et dans l'ordre que tu veux.

Si je reprends l'exemple précédent, après avoir dit "type de restaurant = italien", tu peux ajouter "code postal = 75004". Mais tu aurais aussi bien pu commencer par "code postal = 75004" (auquel cas tu aurais eu tous les restos du 4e arrondissement), puis ajouter "type de restaurant = italien".

La recherche par facette est donc à mi-chemin entre un système de navigation et un moteur de recherche.

Bonjour,

Il existe aussi ce module --> Faceted Search
http://drupal.org/project/faceted_search

Quelqu'un le connaît-il? J'arrive pas à le faire marcher, Grrr.

Je vois donc qu'il y a Apache Solr Search Integration qui semble être une solution complète de moteur de recherche, sans la recherche du core. Ça a l'air efficace.

Quelqu'un peut-il m'expliquer un peu plus la différence entre ces deux modules?

Bonjour,

Effectivement, après quelques recherches, mon choix s'est finalement porté vers Faceted Search dans un premier temps, avant d'utiliser éventuellement Apache Solr un peu plus tard. Pour plus d'information permettant de choisir l'un ou l'autre de ces modules, voir notamment ce fil, mentionné sur la page de projet que tu cites : http://drupal.org/node/374092 [ANG]. Lire aussi ceci : http://civicactions.com/blog/faceted_search_as_a_valid_alternative_to_ap... [ANG, billet datant de quelques mois, attention].

Apache Solr semble très bien fonctionner (liste de sites l'utilisant : http://drupal.org/node/447564 ), mais il nécessite un serveur dédié ou virtuel (VPS), à moins de passer par Aquia (voir le premier lien cité dans ce post + http://acquia.com/products-services/acquia-search [ANG]). Il faut bénéficier de Java 5 ou plus. À ce jour FS présente davantage d'options (voir mon second lien) et peut être installé sur un serveur mutualisé, mais il est aussi plus lent et sollicite beaucoup la base de données. Je travaille encore en local et je n'ai pas fait de test poussé sur ce plan, mais les conseils de l'auteur sont sûrement à prendre en considération. FS semble donc convenir davantage pour des petits sites, n'ayant pas encore trop de trafic, et sans doute aussi pour des personnes peu expertes. À signaler que le créateur de FS travaille à l'intégration des atouts de FS sur Apache Solr, et qu'il est question que celui-ci puisse fonctionner bientôt avec les technologies du "Web sémantique" (RDF and co., voir http://groups.drupal.org/node/22040) ; ce dernier module est donc appelé à devenir encore plus intéressant qu'aujourd'hui.

Pour faire tourner FS, ce n'est pas bien compliqué je trouve, à condition bien sûr de prendre le temps de lire la doc ;-) Cf. notamment le 1er point de la procédure d'installation. Un peu de persévérance et on y arrive sans problème.

Pour faire tourner FS, ce n'est pas bien compliqué je trouve, à condition bien sûr de prendre le temps de lire la doc ;-)
Et surtout à condition de ne pas s'arrêter à l'activation du sous-module "Faceted Search"... Non mais quel âne je suis!!!!

Merci à toi pour ces liens intéressants.
Apache Solr n'a pas l'air d'être de la tarte à installer.
FS devrait faire l'affaire si le serveur arrive à suivre. C'est encore un petit site (20000 contenus) donc je pense que oui.

"Apache Solr n'a pas l'air d'être de la tarte à installer."

Je me souviens d'avoir vu une vidéo dans laquelle Robert Douglass expliquait que l'installation de son module (Apache Solr, donc) était très simple. Ma décision de ne pas adopter AS s'appuie sur des constats précédant les tests (je veux démarrer mon site sur un serveur mutualisé) ; je n'ai pas donc pas essayé d'installer ce module, mais cela vaut peut-être la peine.

Quelques remarques complémentaires :

  • comme il a été indiqué plus haut je crois, la recherche par facettes est un peu un mélange entre navigation et recherche. Nous sommes là dans une logique encore assez peu courante, qui implique de se poser pas mal de questions : quels critères de recherche proposer ? Dans quel ordre ? Selon les cas, ces questions ne trouvent pas toujours une réponse facile. Il peut être opportun de concevoir cela en étroite collaboration avec les utilisateurs finaux ;

  • à ce jour, la recherche par facettes telle que proposée par le module FS ne permet de choisir qu'un seul item par ensemble d'items proposés. Par exemple, si on propose une recherche de modèles de voiture grâce aux critères "marque de voiture" (1 marque = 1 item) et "année de fabrication" (1 année = 1 item), il ne sera possible de sélectionner simultanément qu'une seule marque et une seule année. Un fil a été ouvert dans l'"issue queue" de FS pour voir s'il pourrait devenir possible de sélectionner plusieurs items par ensembles et si oui, comment. [edit : http://drupal.org/node/173524 ]

Pas de secret : se documenter autant que possible, essayer, réfléchir, échanger, et recommencer autant de fois que nécessaire, si possible... Compte tenu de la documentation souvent absente ou lacunaire, la seule alternative est d'essayer avant de se faire son idée.