Bonjour,
J’avais besoin de faire des recherches de type Like %…%, des filtres par facettes et l’indexation du contenu de fichier. D’après ce que je comprend, je devrais pouvoir réaliser mes desiderata avec les modules search_api, search_api_pages, search_api_solr et search_facets.
J’ai suivi le tutoriel d’Ivan Zugec : http://zugec.com/73-how-setup-search-api-apache-solr.
Je travail avec drupal 7.15, solr 3.6, solrphpClient r22, jetty, search api 7.x-1.4, search api solr 7.x-1.0-rc3, search api pages 7.x-1.0-beta2.
Solr tourne et l’indexation fonctionne ; je l’ai testé avec le client web localhost:8983/solr/admin.
Sur Drupal, j’ai activé les modules search_api, search_pages et search solr.
Dans search api, j’ai crée 1 server basé sur solr service ; il est activé. J’ai ensuite crée un index, «node search» (=son nom) sur le type d’entité noeud utilisant le serveur solr. Activé lui aussi.
J’ai défini les champs à indexer (dans la section add related fields) :
Créateurs»Nom — indexed — fulltext — boost = 1.0 (je ne sais pas à quoi le «boost» correspond ?)
Titres»Nom — indexed — fulltext — 1.0
Ces deux champs sont multivalués et ce sont des termes de vocabulaires.
J’ai aussi essayé uniquement avec le champs title de noeud :
title — indexed — fultext — 1.0
Mais cela n’a rien changé.
Je n’ai séletionné aucun processeur ou data alteration.
Enfin, j’ai lancé l’indexation depuis drupal ; celle-ci s’est déroulée sans problème et les valeurs des champs que j’ai selectionnées sont bien indexées (testé avec solr/admin).
Avec search pages, j’ai créé un page de recherche, search-st-simon, qui interroge l’index search node. Sa configuration :
name = search
index = node search
path = search-st-simon
query type = plusieurs termes
searched fields = Createurs»Nom et Titres»Nom
result par page = 10
Allow the „Results per page“ setting to be overridden from the URL, using the «per_page» GET parameter
Mode d’affichage = themed as search results (j’ai aussi essayé contenu mais cela na m’a pas affiché plus de choses)
Peut importe la requete que je fait sur drupal : il m’affiche toujours la même chose :
«The search found 1 result in 0.076 seconds.
Votre recherche n’a donné aucun résultat» (seul le nombre de secondes varie)
et pourtant sur solr/admin les mêmes donnent des résultats.
Jetty n’affiche rien de particulier : «16 févr. 2013 14:13:55 org.apache.solr.core.SolrCore execute
INFO : [] webapp=/solr path=/select params={fl=item_id,score&start=0&q=»rentier»&qf=tm_field_doc_dc_titre:name^1.0&qf=tm_field_doc_createur:name^1.0&json.nl=map&wt=json&fq=index_id:node_search&version=1.2&rows=10} hits=1 status=0 QTime=3
16 févr. 2013 14:54:33 org.apache.solr.core.SolrCore execute
INFO : [] webapp=/solr path=/admin/ping params={q=id:1} hits=0 status=0 QTime=4»
Drupal est muet (pas de log), alors qu’avec la recherche par défaut ; il m’affiche toujours un message que ce ce soit bien passé ou pas.
Enfin, alors que je devrais voir apparaître mes résultats de recherche drupal n’affiche rien !
J’ai lu dans un forum que cela pourrait venir du type declaré pour mes champs «tm_*» dans schema.xml qui est text, alors qu’un autre serait mieux adapté. L’article conseillait text_general mais ce type n’existe pas dans mon schema.
Pouvez vous me renseigner ?
Merci de votre aide
Partager