Question

Quelqu'un a posté il y a une heure environ une question concernant le moteur de recherche Drupal et qui ressemblait à ceci:

  

Je sais que Drupal devrait indexer tout ce qui est renvoyé par node_view () , mais cela ne se produit pas pour mon contenu personnalisé. Aussi: existe-t-il de meilleures alternatives aux fonctionnalités intégrées de Drupal?

Comme la question a été supprimée pendant que je répondais et que je ne voulais pas perdre 20 minutes de ma vie pour rien;), j’ai pensé à recréer la question une seconde fois. J'espère que tout va bien selon les règles de SO! :)

Était-ce utile?

La solution

Le moteur de recherche Drupal n'est probablement pas la fonctionnalité la plus célèbre de Drupal, mais il est assez solide, sophistiqué et fiable. Il existe de nombreux modules qui l'améliorent ou le remplacent mais à le moins dans mon expérience - il n’existe pas de "meilleure manière" communément acceptée. gérer la recherche et l'indexation.

Toutefois, pour les sites très volumineux et très fréquentés, les utilisateurs préfèrent utiliser des outils externes, tels que Google Searchbox ou même des logiciels ou matériels dédiés, tels que solr / lucene ou Google Search Appliance (GSA).

Cependant, le lien que j'ai fourni ci-dessus trie les modules liés à la recherche par ordre décroissant de statistiques d'utilisation. Vous trouverez donc sur la première page celui qui est le plus couramment utilisé. Un de mes préférés pour les sites en anglais est le porter-stemmer , qui indexe les mots en fonction de leur tige (par exemple : altesse, plus haut et plus haut seront tous retournés comme correspondances pour le mot "élevé").

C’était pour les informations générales sur la recherche et Drupal. En ce qui concerne votre problème, vous pouvez vérifier un certain nombre de choses pour le localiser:

  1. Votre cron.php a-t-il été exécuté récemment? l'indexation est effectuée dans le cadre de l'exécution cron. Par conséquent, si vous ne possédez pas de groupe crontab ou si vous ne l'avez pas exécuté manuellement, votre nœud n'aura probablement pas encore été indexé.

  2. Les paramètres sont-ils corrects? les paramètres du module de recherche se trouvent à l'adresse http://example.com/admin/settings/search : la longueur de mot minimale est-elle suffisante pour vos besoins (le nombre par défaut est de 3 lettres)?

  3. Le site a-t-il été indexé à 100%? (vous pouvez le vérifier à partir de la page des paramètres). Si ce n'est pas le cas et que l'exécution de cron.php ne résout pas le problème, regardez plus bas.

  4. Un réindexage résout-il le problème? En particulier si vous insérez des données au moyen de requêtes SQL directement sur les tables Drupal, il est probable que Drupal ne se soit pas rendu compte du contenu du nœud. a changé et donc ne met pas à jour l'index.

  5. Le nœud que vous essayez de trouver est-il visible? Les résultats de la recherche sur les nœuds non publiés ou les nœuds nécessitant l'affichage d'autorisations plus élevées que la vôtre ne sont pas renvoyés, autant que je sache.

Comme pour "l'indexation bloquée" cela m'est arrivé une fois aussi. Il s’est avéré que c’était du code PHP contenu dans un corps de nœud qui pouvait déclencher une exception PHP lors de l’indexation du nœud. En conséquence, le processus d’indexation s’arrêtait et tous les nœuds suivants ne seraient pas également indexés.

J'espère que ça aide. Bonne chance!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top