Search kick Gem è una gemma Ruby che funziona su Elasticsearch e semplifica l'esecuzione di ricerche in modo intuitivo per Rails. Inoltre, ti consente di aggiungere più funzionalità tra cui analisi, completamento automatico e risultati personalizzati. Searchkick capisce cosa stanno cercando i tuoi utenti. Man mano che sempre più persone cacciano, diventa più brillante e i risultati migliorano. È benevolo per i designer e soprannaturale per i tuoi utenti. Gestisce la radice, i caratteri speciali, gli spazi bianchi extra, gli errori di ortografia, i sinonimi personalizzati. Per iniziare, assicurati di avere Elasticsearch installato sul tuo computer di casa. A seconda del sistema operativo, il processo di installazione è leggermente diverso e assicurati di avere almeno Java 7. Una volta fatto, aggiungi e installa searchick alla tua applicazione Rails aggiungendo quanto segue al tuo Gemfile ed eseguendo l'installazione del bundle.
gemma 'searchkick'Una volta installato e pronto per l'uso, devi indicare quali modelli potresti voler cercare nella tua applicazione. Basta aggiungere searchkick al file del modello per farlo funzionare. Quindi, dobbiamo reindicizzare i modelli in modo che Elasticsearch possa funzionare correttamente. Nel tuo terminale, esegui:
rake searchkick:reindex:allLa ricerca con searchkick è del tutto semplice. Fondamentalmente esegui YourModel.search, seguito dai parametri di ricerca e dagli eventuali filtri che desideri aggiungere. Ad esempio, una delle ricerche più complesse è la seguente: @offers = Offer.search params[:search], page: params[:page], per_page: 10, order: {starttime: :desc}, campi: [{offer_name: :word_start}, {offer_request_name: :word_start}:price], dove: { starttime: { gte: DateTime.strptime(params[:fromdate], '%m/%d/%Y'), lte: DateTime.strptime(params[: todate], '%m/%d/%Y') } } In questa ricerca, prendiamo la query di ricerca dell'utente con params[:search] e esaminiamo le lezioni con le seguenti condizioni: Impaginazione: Questa porzione di codice restituisce i risultati della ricerca in pagine di 10. Puoi modificare il numero di elementi dell'elenco necessari su ogni pagina utilizzando questo metodo. Funziona sia con will_paginate che con kaminari. Ordine: order: {starttime: :desc}- Questo metodo determina in quale ordine vengono restituiti i risultati. Usandolo possiamo cambiare la visualizzazione dei risultati con ordine crescente o discendente. In questo caso, abbiamo restituito prima i risultati più recenti. Campi: [{offer_name: :word_start},{offer_request_name: :word_start} :price]- In questo metodo, abbiamo consentito agli utenti di cercare per nome dell'offerta, tipo di offerta o prezzo dell'offerta. Il metodo word_start consente agli utenti di digitare solo la prima parte del nome dell'offerta e di visualizzare comunque l'offerta nei risultati di ricerca. Ad esempio, la ricerca di "ch" rivelerebbe comunque "chat". Puoi anche usare word_middle e word_end. Per testi più lunghi, searchkick supporta anche text_start, text_middle e text_end. Dove: starttime: {gte: DateTime.strptime(params[:fromdate], '%m/%d/%Y'), lte: DateTime.strptime(params[:todate], '%m/%d/%Y')}. Consente agli utenti di utilizzare facilmente i filtri nella loro applicazione. Volevamo filtrare tra le date in cui abbiamo utilizzato l'ora di inizio per trovare le offerte Impostazione degli attributi di ricerca personalizzati Un'ultima grande funzionalità di searchkick è il metodo search_data che puoi aggiungere ai tuoi modelli. Ciò consente di aggiungere o sostituire gli attributi che l'utente può cercare. In questo modo è possibile creare parametri di ricerca personalizzati oppure effettuare ricerche in base alle associazioni di un modello. Di seguito è riportato un esempio di uno dei metodi search_data che abbiamo implementato. def dati_ricerca attributi.merge( nome_richiesta_offerta: richieste_offerta.map(&:nome), ) FINE Indici multipli Cerca su più indici con:
Searchkick.search “search_query”, nome_indice: [Offerta, OfferRequest]Nostro Sviluppatori di Ruby on Rails qui a RailsCarma non creano solo applicazioni ma creano fenomeni. Facendo uso di tecniche futuristiche, forniscono applicazioni brillanti, progettano UI/UX belle e coinvolgenti, sviluppano front-end chiari, creano applicazioni scalabili e le gestiscono su Cloud. In breve, i nostri sviluppatori Ruby on Rails: “Dai vita alle tue idee”. Commenta qui sotto oppure Contattaci in caso di qualsiasi domanda.
Katneni Naga Sai Tejaswi
Sviluppatore software senior
Iscriviti per gli ultimi aggiornamenti
Articoli correlati