Ho un'applicazione di binari 4 con numero di modelli e pagine di visualizzazione. Il layout dell'applicazione della mia applicazione contiene una barra di ricerca. Ma è inattivo al momento. Lo scopo della barra di ricerca è quello di consentire all'utente di cercare tra tutti i modelli per la/e parola/e chiave/e inserita/e, fondamentalmente rendendola una ricerca globale. C'è qualche gemma che fa ricerca universale? O deve essere fatto manualmente tramite query SQL? Ho potuto vedere il modo di implementare la ricerca di un modello specifico sulla sua pagina di visualizzazione. Ma voglio che cerchi tutti i modelli contemporaneamente. Come dovrei farlo?Implementazione della ricerca universale su binari 4
6
A
risposta
5
Penso che il modo migliore nel tuo caso è quello di utilizzare elasticsearch. Una perfetta gemma di integrazione è fornita here. I collegamenti alla documentazione sono forniti su quella pagina.
3
Sunspot è una delle gemme più utilizzate per aggiungere la ricerca in un'app Rails.
indicizzazione si presenta così:
class Post < ActiveRecord::Base
searchable do
text :title, :body
text :comments do
comments.map { |comment| comment.body }
end
integer :blog_id
integer :author_id
integer :category_ids, :multiple => true
time :published_at
string :sort_title do
title.downcase.gsub(/^(an?|the)\b/, '')
end
end
end
e la ricerca:
Post.search do
fulltext 'best pizza'
with :blog_id, 1
with(:published_at).less_than Time.now
order_by :published_at, :desc
paginate :page => 2, :per_page => 15
facet :category_ids, :author_id
end
+1
Sunspot permette un'unica ricerca su più modelli – lulalala
3
Uno degli approcci migliori sarà utilizzare gem 'searchkick'
che utilizza elasticsearch.
Risorse per Searchkick: https://github.com/ankane/searchkick https://github.com/ankane/searchkick#advanced
Problemi correlati
- 1. Implementazione di un iteratore su un albero di ricerca binario
- 2. Ricerca Entity Framework 4 su campi combinati
- 3. c implementazione # 4 osservatore
- 4. Chiave esterna nei binari 4
- 5. Conteggio obsoleto in binari 4
- 6. CursorTreeAdapter con implementazione ricerca
- 7. Implementazione della ricerca full-text con Tridion Query
- 8. Implementazione della ricerca in un'applicazione Ruby on Rails 3?
- 9. Come posso provare questa operazione su alberi di ricerca binari?
- 10. Python: ricerca/lettura di dati binari
- 11. Implementazione di alberi binari usando Swift enum
- 12. binari 4 Quando è richiesto "inverse_of"?
- 13. Ricerca di una buona implementazione della tabella hash in C
- 14. Implementazione efficiente della ricerca a faccette nei database relazionali
- 15. implementazione della proprietà force su classi derivate
- 16. Parametri non ammessi nei binari 4
- 17. Implementazione della ricerca di completamento automatico del materiale angolare su invio
- 18. come cercare attraverso le associazioni nei binari 4
- 19. alberi di ricerca binari in rubino
- 20. implementazione di sondaggi su linux e implementazione sondaggio su solaris
- 21. Implementazione ricerca intelligente/confronto stringa fuzzy
- 22. Implementazione personalizzata overflowHandler in ExtJS 4
- 23. Esecuzione della corrispondenza ESATTA su ricerca SOLR
- 24. Caricamento immagine su binari
- 25. Implementazione efficiente della mappa immutabile?
- 26. Implementazione rotaie di ricerca con completamento automatico
- 27. Ricerca binaria in clojure (implementazione/prestazioni)
- 28. universale Parse tipo primitivo su C#
- 29. Implementazione della funzione nulla
- 30. Cambio implementazione su .NET's Random()
Non la gemma creare un indice per ogni modello? c'è un modo per creare un indice per tutti i modelli? o in alternativa come si cerca una volta su più indici? indicarmi un link è abbastanza buono per me. –
Che ne dici di pg_search gem? Ne vale la pena. Perché il mio database non è troppo grande per permettermi il sole. –
@VivekTripathi bene, se la tua ricerca è così semplice, potresti utilizzare "pg_search", ma ciò significa che rimani bloccato sul tuo DB e non è abbastanza scalabile quando la tua app cresce. – Almaron