Contact Time 24 x 7

300 Convent Street, Suite 1330, San Antonio, Tx, 78205 USA

    Contact Time 24 x 7
    Contact us info@iterontech.com
    Phone Number +41 61 272 95 95

    Blog

    top mobile app development company in europe25 NOV

    Sunspot Solr Search – Installation dans l’application Rails en moins de 5 minutes

    by Elixir Consultant

    Sunspot Solr Search – Installation dans l’application Rails en moins de 5 minutes

    Voici un guide de 5 minutes pour démarrer avec l’application Sunspot Solr dans l’application Ruby on Rails. À la fin de ce blog, vous devriez avoir une recherche en texte intégral dans un environnement de développement, alimentée par une instance de Solr en cours d’exécution locale.
    La recherche en texte intégral n’a jamais été utilisée de manière significative et avec toute la puissance réelle du moteur de recherche Solr et toute la beauté de Ruby; Sunspot [https://github.com/sunspot/sunspot] expose toutes les fonctionnalités de recherche les plus puissantes de Solr à l’aide d’une API. Sunspot est une bibliothèque Ruby pour une interaction puissante et expressive avec le moteur de recherche Solr. Les développeurs aiment plus Sunspot Solr Search car cela signifie une recherche en texte intégral robuste et flexible, sans requête booléenne ni programmation par chaîne.

    Installation de base de SunSpot:

    Avant d’installer gem, nous devons installer JRE (Java Runtime Environment) pour la configuration de solr

    $ sudo apt-get install openjdk-6-jre
    Ajoutez la ligne suivante dans Gemfile:
    gem ‘sunspot_rails’
    gem ‘sunspot_solr’
    Mettre à jour le paquet maintenant:
    $ bundle install

    Exécutez la commande suivante pour générer le fichier config / sunspot.yml:

    rails g sunspot_rails: installer

    Dans config / sunspot.yml, nous pouvons ajouter / modifier les configurations SOLR par défaut en fonction de l’environnement.

    Production:
    solr:
    nom d’hôte:
    port: 8983
    niveau_log: AVERTISSEMENT
    chemin: / solr / default

    Le numéro de port par défaut de l’environnement de développement est 8982.
    Après index de données, nous pouvons voir la liste de données indexées dans

    http: //: / solr.
    Par exemple, http: // localhost: 8982 / solr.
    Et la configuration des “taches solaires” est terminée.

    Exécution de SunSpot-Solr

    Solr est un serveur HTTP autonome, mais Sunspot est livré avec une copie déjà configurée pour fonctionner avec Sunspot. Si sunspot_solr a été installé, démarrez la distribution Solr empaquetée avec:

    bundle exec runs tache solaire: solr: start

    Lorsque cette commande est exécutée pour la première fois dans une instance d’application, elle crée un répertoire solr / dans la racine de l’application Rails. Ce dossier racine contient la configuration par défaut de Solr, ainsi que les fichiers de données réels de l’index Solr.

    Installation de recherche SunSpot Solr – Dépannage de base:

    Si vous voyez: Errno :: ECONNREFUSED (Connexion refusée – connect (2)) Alors peut-être:

    Le serveur Solr n’est pas démarré correctement, exécutez la commande:

    $ rake tache solaire: solr: start

    Une erreur s’est produite lors du démarrage du serveur solr

    faire

    $ rake tache solaire: solr: run

    pour exécuter le serveur au premier plan et vérifier les erreurs.

    Si la même erreur se produit uniquement dans l’environnement de test, mais fonctionne correctement dans l’environnement de développement, vérifiez l’environnement et appelez la tâche correctement:

    $ RAILS_ENV = testez la tache solaire du rake: solr: run

    Recherche SunSpot Solr – Configuration du modèle d’application:

    Dans les applications en cours de développement, nous avons un modèle Question, avec les champs Description et Catégorie. Pour le configurer pour la recherche par mot clé Sunspot Solr, nous utilisons la méthode de recherche suivante:

    Classe Question <ActiveRecord :: Base consultable dans la base de données: Description,: default_boost => 2
    text: Catégorie
    fin
    fin

    Notez que le mot clé «texte» signifie ici que nous créons un champ qui peut être recherché en texte intégral. Le paquet sera considéré comme séparé en mots-clés individuels, puis ces mots-clés seront comparés aux mots dans les requêtes de recherche par mot-clé. Il existe de nombreux autres types de champs, mais le texte est le seul qui est recherché par mots-clés.

    Ensuite, le paramètre default_boost signifie que, sauf indication contraire, les mots correspondant au champ: Description doivent être considérés comme deux fois plus pertinents que les mots correspondant au champ: Catégorie.
    Maintenant que Sunspot sait comment indexer le modèle Question, nous devons importer les données existantes dans Solr. Chaque fois qu’une question est créée, mise à jour ou détruite, Sunspot :: Rails apportera automatiquement les modifications à l’index. nous n’avons besoin de faire une réindexation complète que si nous avons ajouté ou modifié une définition consultable pour un modèle.
    Ajout de l’application Sunspot Solr Search à Rails:
    Dans l’application rails, Sunspot Solr Search peut faire beaucoup plus qu’une simple recherche par mot-clé, mais nous essayons de l’installer en cinq minutes et nous n’avons concentré que les principes fondamentaux de l’application.
    Considérons une situation dans laquelle nous avons un formulaire de recherche dans lequel un utilisateur tape certains mots clés et soumet un paramètre «: q» à la méthode de recherche de QuestionsController #.

    classe QuestionsController <ApplicationController def search @search = Question.search (: include => [: commentaires]) fait des mots-clés (params [: q])
    fin
    fin
    fin

    Notre variable @search se voit attribuer un objet de classe Sunspot :: Search. Voici comment nous allons travailler avec cela dans la vue:

    .résultats
    – @ search.each_each_hit_with_result do | titre, question |
    .résultat
    % h2 = h question.title
    % p = h tronqué (question.description,: longueur => 100)
    .pagination
    = will_paginate (@ search.results)

    C’est ça…. la configuration rapide de Sunspot Solr Search – recherche impressionnante en texte intégral dans l’application Rails. Écrira plus sur les concepts de recherche dans les prochaines semaines.

    Tags:

    Elixir Consultant

    Leave a Comment

    PRIVACY POLICY © 2021 ITERON All Rights Reserved