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 europe27 NOV

    Sunspot Solr Search – Impostazione nell’applicazione Rails entro 5 minuti

    by Elixir Consultant

    Sunspot Solr Search – Impostazione nell’applicazione Rails entro 5 minuti

    Ecco una guida di 5 minuti per iniziare con Sunspot Solr Search in Ruby on Rails Application. Entro la fine di questo blog, si dovrebbe avere la ricerca full-text di lavoro in ambiente di sviluppo, alimentato da un’istanza locale in esecuzione Solr.
    La ricerca fulltext non è mai stata usata in modo significativo e tutta la reale potenza del motore di ricerca Solr insieme a tutta la bellezza di Ruby; Sunspot [https://github.com/sunspot/sunspot] espone tutte le caratteristiche di ricerca più potenti di Solr utilizzando un’API. Sunspot è una libreria Ruby per un’interazione espressiva e potente con il motore di ricerca Solr. Agli sviluppatori piace di più Sunspot Solr Search perché significa una ricerca fulltext robusta e flessibile, senza query booleane e senza programmazione di stringhe.

    Installazione di base di SunSpot:

    Prima di installare gem , abbiamo bisogno di installare JRE (Java Runtime Environment) per la configurazione di solr

    $ sudo apt-get installare openjdk-6-jre
    Aggiungere la seguente riga in Gemfile:
    gemma ‘sunspot_rails’.
    gemma ‘sunspot_solr’.
    Aggiorna il pacchetto ora:
    $ bundle install

    Eseguire il seguente comando per generare il config/sunspot.yml:

    rails g sunspot_rails:install

    In config/sunspot.yml possiamo aggiungere/modificare le configurazioni SOLR predefinite in base all’ambiente.

    Produzione
    solr:
    hostname:
    porta: 8983
    livello log_di_livello: ATTENZIONE
    percorso: /solr/default

    Il numero di porta predefinito dell’ambiente di sviluppo è 8982.
    Dopo l’indice dei dati, possiamo vedere l’elenco dei dati indicizzati in

    http://:/solr
    Per esempio: http://localhost:8982/solr.
    E la configurazione “sunspot” è fatta.

    Esecuzione di SunSpot-Solr

    Solr è un server HTTP autonomo, ma Sunspot viene fornito con una copia già configurata per funzionare con Sunspot. Se sunspot_solr è stato installato, avviare la distribuzione Solr con il pacchetto:

    bundle exec rake sunspot:solr:start

    Quando questo comando viene eseguito per la prima volta nell’istanza dell’applicazione, creerà una cartella solr/ nella radice dell’applicazione Rails. Questa cartella principale contiene la configurazione predefinita di Solr, così come i file di dati effettivi per l’indice di Solr.

    Installazione di SunSpot Solr Search Installation – Basic Trouble Shooting:

    Se vedete: Errno::ECONNNREFUSED (Connessione rifiutata – connect(2)) Allora, forse:

    Solr server non è avviato correttamente, eseguire il comando:

    $ rake sunspot:solr:start

    Si è verificato un errore nell’avvio del server solr

    agire

    $ rastrello sunspot:solr:run

    per eseguire il server in primo piano e verificare la presenza di errori.

    Se lo stesso errore si verifica solo in ambiente di test, ma lavorando bene in ambiente di sviluppo, controllare l’ambiente e richiamare il task in modo appropriato:

    $ RAILS_ENV=test rake sunspot:solr:run

    SunSpot Solr Search – Configurazione del modello di applicazione:

    Nell’applicazione in fase di sviluppo, abbiamo un modello di domanda, con campi Descrizione e Categoria. Per impostare la ricerca per parola chiave Sunspot Solr, usiamo il metodo di ricerca:

    classe Domanda < ActiveRecord::Base ricercabile fare testo :Descrizione, :default_boost => 2
    testo : Categoria
    fine
    fine

    Si noti che la parola chiave “testo” qui significa che stiamo creando un campo che è fulltext-searchable. Il pacchetto sarà considerato suddiviso in singole parole chiave, e poi queste parole chiave saranno confrontate con le parole nelle query di ricerca per parola chiave. Ci sono molti altri tipi di campo, ma il testo è l’unico che viene cercato per parole chiave.

    Quindi il parametro :default_boost significa che, se non diversamente specificato, le parole che corrispondono al campo : Description devono essere considerate due volte più rilevanti delle parole che corrispondono al campo : Category.
    Ora che Sunspot sa come indicizzare il modello Question, abbiamo bisogno di portare i dati esistenti in Solr. Ogni volta che una domanda viene creata, aggiornata o distrutta, Sunspot::Rails apporterà automaticamente la modifica all’indice; dobbiamo fare un reindice completo solo se abbiamo aggiunto o cambiato una definizione ricercabile per un modello.
    Aggiunta di Sunspot Solr Search all’applicazione Rails:
    Nell’applicazione rails, Sunspot Solr Search può fare molto di più di una semplice ricerca per parola chiave, ma stiamo cercando di impostare in cinque minuti, abbiamo concentrato solo i fondamenti per la configurazione dell’applicazione ora.
    Consideriamo una situazione in cui abbiamo un modulo di ricerca in cui un utente digita alcune parole chiave, che invia un parametro “:q” al metodo QuestionsController#search.

    class QuestionsController < ApplicationController def search @search = Question.search(:include => [:comments]) fa le parole chiave (params[:q]).
    fine
    fine
    fine

    Alla nostra variabile @search è assegnato un oggetto della classe Sunspot::Search. Ecco come lavoreremo con essa nella vista:

    .results
    – @ricerca.ogni_cosa_con_risultato fare |titolo, domanda|
    .risultato
    %h2= h interrogativo.titolo
    %p= h troncare (domanda.descrizione, :lunghezza => 100)
    .paginazione
    = will_paginate(@risultati.della.ricerca)

    Questo è……… la rapida configurazione di Sunspot Solr Search – impressionante ricerca fulltext nell’applicazione Rails. Scriverà di più sui concetti di ricerca nelle prossime settimane.

    Tags:

    Elixir Consultant

    Leave a Comment

    PRIVACY POLICY © 2021 ITERON All Rights Reserved