Facettes recherche apache hébergement solr drupal

Note: extra merci à Doug Vann pour fournir la motivation pour poster enfin ce blog!

Au début de 2016, lorsque les modules liés Solr-API de recherche et de Drupal 8 étaient en état début alpha, j'ai écrit le blog Mettre en place une page de recherche par facettes Apache Solr sur Drupal 8 avec Search API Solr et Facettes.

Ce poste a été utile pendant les mois douloureux lorsque la recherche Solr dans Drupal 8 était encore dans un état très rude, mais beaucoup de choses ont changé depuis, et recherche basée Solr dans Drupal 8 est beaucoup plus stable (et facile à configurer) place aujourd'hui, donc je pensais que je serais enfin écrire un nouveau poste pour montrer combien il est facile de construire la recherche à facettes Solr dans Drupal 8, presque un an plus tard.

hébergement

Construire un environnement de développement local avec Apache Solr

Ces jours-ci, je construis toujours et l'entretien des sites Drupal localement à l'aide de Drupal VM; faisant cela me permet de mettre en place un environnement de développement exactement comment je l'aime, et faire des choses comme l'ajout d'Apache Solr est trivial. Donc, pour cette procédure pas à pas, je vais commencer par la case départ, et vous montrer comment commencer avec absolument rien et construire la recherche à facettes sur un nouveau site Drupal 8, en utilisant Drupal VM et un fichier Compositeur:

Télécharger Drupal VM et suivez le guide de démarrage rapide. puis ajoutez le config.yml suivant dans le dossier VM Drupal pour assurer Apache Solr est installé:

Nous allons utiliser l'intégration Composer de Drupal VM pour générer un site Drupal qui a un Drupal à base Composer installer dans le chemin du dossier synchronisé (par défaut, dans un sous-répertoire dans le dossier drupal VM Drupal).

La variable drupal_composer_dependencies dit Drupal VM au compositeur exigent les modules nécessaires pour obtenir l'API de recherche Solr et Facettes. Le script post_provision_scripts est fourni avec Drupal VM, et configurer la version d'Apache Solr installé avec Drupal VM appropriée pour une utilisation avec l'API de recherche Module Solr.

Copiez le example.drupal.composer.json à drupal.composer.json. puis exécutez Vagrant pour construire l'environnement de développement local et télécharger tout le code Drupal nécessaire pour commencer à utiliser la recherche.

Remarque: Si vous configurez une recherche sur un site existant ou ne veulent pas utiliser Drupal VM, téléchargez et installez l'API de recherche, Search API Solr, et les modules Facettes manuellement, et assurez-vous que vous avez en cours d'exécution Apache Solr et un noyau de recherche configuré avec la configuration de la dernière API de recherche version module Solr.

Installer les modules

Si vous souhaitez installer les modules via l'interface utilisateur de Drupal:

  1. Aller à drupalvm.dev/. puis connectez-vous en tant qu'administrateur (nom d'utilisateur et mot de passe par défaut est admin / admin).
  2. Aller à la page Étendre (/ admin / modules), et activez l'option "Search API", "Facettes", "Solr recherche", et "Solr par défaut de recherche".
Facettes recherche Apache Solr hébergement peu plus drupal

Si vous souhaitez installer les modules via Drush:

  1. Exécutez drush @ drupalvm.drupalvm.dev en -y facettes search_api search_api_so lr search_api_solr_defaults

Vous devez également désinstaller le noyau « Recherche » module s'il est installé, il est pas nécessaire pour Search API ou Facettes, et continuera à stocker indésirable supplémentaire dans la base de données de votre site s'il est installé.

Configurer le serveur Solr

Visitez la page de configuration de l'API de recherche et modifiez la valeur par défaut Solr Server, les modifications suivantes:

  • Change 'core Solr' à collection1 (valeur par défaut est d8).

Remarque. Les dernières versions de VM Drupal ne nécessitent plus cette étape, comme il est défini le nom du noyau par défaut Solr d8 automatiquement (voir ce PR).

À ce stade, sur la page d'état du serveur (/ admin / config / recherche / recherche-api / server / default_solr_server), vous devriez voir un message « Le serveur Solr pourrait être atteint » et « Le cœur Solr est inaccessible »:

Une fois cela fait, désinstaller le module de recherche Solr par défaut (drush @ drupalvm.drupalvm.dev pmu -y search_api_solr_defaults); ce module est plus nécessaire après l'installation initiale, que la configuration de votre serveur Solr fait maintenant partie du magasin de configuration active du site et ne sera pas supprimé.

Configurer l'index Solr

Le moteur de recherche Solr module par défaut crée un index de contenu par défaut contenant tous les noeuds publiés sur le site. Dans notre cas, cela signifie que toutes les pages de base et articles seraient inclus.

Vous n'avez pas besoin de changer quoi que ce soit dans la configuration de l'index, mais si vous voulez avoir un coup de coude et voir comment il est mis en place et quelles sont les options que vous avez en termes de la source de données, les champs ou les processeurs, rendez-vous / admin / config / Recherche / Recherche-api / index / default_solr_index / modifier.

Ajouter le contenu par défaut (si vous n'avez pas)

En supposant que vous avez construit ce site en utilisant Drupal VM, il est probable que le site est stérile, sans contenu que ce soit à indexer. Pour résoudre ce problème, vous pouvez utiliser compagnon pratique du module Devel, Devel générer:

  1. Activer Devel générer: drush @ drupalvm.drupalvm.dev en -y devel_generate
  2. Générer du contenu factice: drush @ drupalvm.drupalvm.dev générer contenu 100
    • Note: Au moment où nous écrivons ces lignes, la commande Drush n'a pas donné lieu à un contenu généré. Utilisez l'interface utilisateur à / admin / config / développement / générer / contenu si la commande Drush ne se contente pas de générer.

    Maintenant, vous avez un groupe de nœuds vous pouvez indexer et recherche!

    Confirmer l'indexation de recherche fonctionne

    Il est préférable de laisser vos serveurs de production Solr attendre quelques minutes avant que le contenu fraîchement indexé sont mis à disposition pour la recherche; cette recherche de façon sont un peu plus que Solr peut performante charge ses opérations de mise à jour. Mais pour le développement local, il est agréable d'avoir l'index soit mis à jour le plus rapidement possible à des fins de test, de sorte que la configuration de Drupal VM dit Solr de mettre à jour son index de recherche immédiatement après Drupal envoie tout contenu.

    Donc, si vous avez généré le contenu avec Devel générer, puis visitez la page d'état Index de l'index de recherche par défaut (/ admin / config / recherche / search-api / index / default_solr_index), vous devriez voir tout le contenu sur le site indexé:

    Si vous travaillez sur un site existant, ou si tout le contenu n'a pas encore été indexé pour une raison quelconque, vous pouvez indexer manuellement en cliquant sur tout le contenu sur le bouton « Indexer » et en attendant l'opération complète.

    Notez que la vitesse d'indexation peut varier en fonction de la complexité de votre site. Si vous avez un site avec de nombreux types de nœuds complexes et des centaines de milliers ou des millions de nœuds, vous aurez besoin d'utiliser des méthodes plus efficaces pour l'indexation, ou bien vous serez mois d'attente pour tous vos contenus pour être consultable!

    Effectuer une recherche Solr Facettes Voir

    Le module de recherche par défaut de Solr crée une page de recherche par exemple Vues-que vous pouvez accéder à / Solr-recherche / contenu. Il devrait déjà être fonctionnel, puisque votre contenu est indexé dans Solr (essayer!):

    Pour de nombreux sites, ce genre de site de recherche basé sur mot-clé général est tout ce que vous auriez jamais besoin. Mais nous allons embellir un peu et le rendre plus fonctionnel en changeant le chemin et l'ajout d'un type de contenu Facet.

    Tout d'abord, modifier la vue en vous rendant / admin / structure / vues / view / solr_search_content:

    1. Changer le titre de « Recherche » (au lieu de 'Recherche de contenu).
    2. Changer le chemin de « / recherche » (au lieu de '/ Solr-recherche / contenu).
    3. Cliquez sur « Enregistrer ».

    En second lieu, créer un type de contenu facette en vous rendant / admin / config / recherche / facettes:

    1. Cliquez sur "Ajouter facette.
    2. Choisissez le « Voir le contenu de recherche Solr, afficher la page » source Facet (ce qui est la vue que vous venez de modifier).
    3. Sélectionnez « type de contenu (type) » pour le champ de la Facette.
    4. Nom de la facette « Recherche Facet - Type de contenu » (cela vous aidera à placer un bloc plus tard).
    5. Cliquez sur « Enregistrer ».
    6. Sur la page d'édition Facet:
    1. Cochez la case pour « Afficher le montant des résultats ».
    2. Cochez la case « Liste des étiquettes de produit » (ce qui fera le spectacle de la facette « page de base » au lieu de « page'-label au lieu du nom de la machine pour chaque élément).
    3. Cliquez sur « Enregistrer ».

    La facette est maintenant prêt à être placé dans votre thème il apparaît lorsque la vue de recherche est rendu. Visitez la page de configuration de mise en page bloc (/ admin / structure / bloc), puis cliquez sur « bloc de place » dans la région où vous voulez que la facette apparaisse. Dans mon thème, j'ai choisi la région « Barre latérale d'abord ».

    Trouver « Recherche Facet - Type de contenu » (le Facet vous venez de créer) et cliquez sur « bloc Place ». Réglez ensuite le titre du bloc à quelque chose comme « Filtrer par type », puis cliquez sur « Enregistrer bloc ». Vous n'êtes pas obligé de définir des contraintes de visibilité spécifiques pour le bloc, car le Facet est configuré pour ne pas afficher du tout s'il y a une recherche pas sur la page qui en ont besoin d'être montré.

    Cliquez sur « Enregistrer les blocs » sur la page de mise en page Block, puis visiter votre page de recherche sitewide à / recherche:

    Si vous effectuez une recherche, vous remarquerez résultat des comptes de la facette sera ajuster en conséquence:

    À ce stade, vous devriez avoir une recherche Solr Facettes pleinement opérationnel sur votre site Drupal 8. De là, vous pouvez personnaliser la page de recherche plus, le travail sur la sortie des résultats différents (peut-être un teaser contenu au lieu du contenu complet rendu?), Et ajouter plus de facettes (date, auteur, terme de taxonomie, etc.) pour faire le travail de recherche exactement comme vous le souhaitez!

    Prochaines étapes

    Si votre fournisseur d'hébergement ne fournit pas un noyau de recherche Apache Solr pour votre site à utiliser, vous voudrez peut-être envisager d'utiliser Hosted Apache Solr pour héberger la recherche Solr noyau de votre site; il utilise une configuration similaire à ce qui est utilisé dans Drupal VM, et je peux se porter garant pour elle, depuis que je dirige le service :)

    Notez que les modules API de recherche sont encore en version bêta à partir de ce billet de blog; petits détails peuvent entraîner des différences par rapport aux captures d'écran et les instructions ci-dessus.

    Merci pour vous des instructions complètes. Je travaille mon chemin à travers et ai obtenu un peu coincé sur le schéma. J'ai installé errante, boîte virtuelle et a obtenu le site et en cours d'exécution drupal avec solr. Mais quand je regarde la page du serveur Solr dans Drupal, mon schéma est par exemple-données-schéma conduit et non le 4,5-Drupal solr-5.x comme dans votre site Web. J'ai aussi un avis sur le dessus de ma page du serveur Solr en disant drupal « Vous utilisez un fichier de configuration schema.xml incompatibles. S'il vous plaît suivez les instructions du fichier install.txt pour la mise en place Solr. » Mais je ne vois aucune référence au schéma dans la INSTALL.txt la mention. J'ai essayé de voir où le schéma est répertorié dans les fichiers de configuration errantes, mais je ne vois rien. Pouvez-vous me guider là où je dois aller à changer.

    Je courais ce sur une machine Windows 10. J'ai essayé avec Solr 5.5 comme dans votre fichier errante, et aussi essayé Solr 6.3

    Merci d'avance pour toute aide.
    gh

    Pour un suivi, je l'ai résolu problème ci-dessus en supprimant tous les fichiers dans / var / Solr / data / collection1 / conf / et copié tous les fichiers / var / www / drupalvm / drupal / web / modules / contrib / search_api_solr / Solr -conf / 6.x / dans le répertoire mentionné avant. Ceci est fait allusion dans le fichier à modules / contrib / search_api_solr / install.txt dans la région où ils parlent de « Avant de commencer solr ». Je l'ai fait après avoir commencé solr et juste rafraîchi.

    Regarde cette video!

    Articles Liés

    bloc Recherche personnalisée hébergement drupalPosté par Susan Rosie Le 26 mai 2015 2015-05-26T14: 28: 40 + 00: 00 Drupal divise une page Web dans plusieurs régions, y compris la barre latérale, pied de page et en-tête, qui contient des blocs pour un affichage de divers ...
    Voir le module recherche hébergement drupalBonjour, et bienvenue à DrupalModules.com, une cote puissance service communautaire et revue dédiée à vous aider à trouver les meilleurs modules Drupal pour votre projet! Besoin d'aide pour trouver le droit Drupal ...
    Outils champ hébergement drupalIntroduction Une mise en œuvre d'une recherche efficace est l'une des tâches les plus difficiles dans le développement, mais il est aussi une clé du succès de nombreux sites Web et applications. Une recherche rapide et ...
    Drupal hébergement avec sslHTTPS est un protocole qui crypte les requêtes HTTP et leurs réponses. Cela garantit que si quelqu'un en mesure de compromettre le réseau entre votre ordinateur et le serveur que vous demandez ...
    hébergement Tim millwood drupalSa courbe d'apprentissage est notoire, mais Tim Millwood soutient que Drupal est pas terrible, et montre comment vous pouvez l'utiliser pour construire un site d'emploi les connaissances nécessaires. le développement web de base et ...