2016-04-15 6 views
0

ich für die Indizierung Sunspot Solr bin mit und auf Rails-Anwendung in unserer Ruby-Suche mit MongoDB-Datenbank (Mongo Mapper)Solr Sunspot- angeben, welche in der Folge zurückFelder

Jedes Mal wenn ich Solr, für Ergebnis abgefragt es sendet den gesamten Dokumentinhalt über den in der Datenbank gespeicherten Artikel zurück, wodurch die Abfrage sehr langsam wird.

Was ich tun möchte, ist nur bestimmte Felder in die Abfrage aufzunehmen.

Ich fand, dass fl kann eine Reihe von Feldern angegeben werden, zurückzukehren, aber ich bin erhalte eine Fehlermeldung, siehe Schlag:

searchable :if => :published do 
    text :title, :boost => 5 
end 

def self.search_keywords keywords 
    search = Top.search do 
    fulltext keywords 
    adjust_solr_params do |params| 
     params[:fl] = "title_text" 
    end 
    end 
    search.results 
end 

Solr Anfrage:

SOLR Request (24.9ms) [ path=select parameters={fq: ["type:Top"], q: "test", fl: "title_text", qf: "title_text", defType: "edismax", start: 0, rows: 30} ] 

Fehler:

undefined Methode `Übereinstimmung 'für Null: NilClass

Danke.

Antwort

0

Parameter "id" in fl hinzufügen, da Hits-Block ID-Parameter benötigt, um die Ergebnisse zu parsen.