2017-07-14 4 views
0

Ich arbeite an einem solr-Projekt, das Textdokumente von Studenten indiziert. Ich benutze rsolr, um alle Dokumente einer Kohorte zu bekommen. Zusätzlich möchte ich wissen, welche Facetten für das Kohortenfeld verfügbar sind. Das Problem ist, dass die Rsolr-generierte Antwort die Facettenfelder nicht korrekt zurückgibt, während eine HTTP-Anfrage ausgeführt wird. Ich bin neu bei rsolr und die GitHub-Dokumentation ist in diesem Fall nicht hilfreich.rsolr kehrt Facettenfelder nicht zurück

Dies ist meine HTTP-Anforderung, die zwei Facetten richtige Kohorte zurückgibt:

.../select?indent=on&q=cohort:"IT3 WS 2013/2014"&fl=author&facet=on&facet.field=cohort 

Das ist mein rsolr Code: Ich bin für eine bestimmte Kohorte (IT3 WS 2013/2014) in der Kohorte Bereich der Suche nach bekomme alle Dokumente.

solr = RSolr.connect :url => 'http://127.0.0.1:8983/solr/LaepD' 
response = solr.get 'select', :params => { 
    :q=>'IT3 WS 2013/2014', 
    :fl=>['author', 'title'], 
    :qf => 'cohort', 
    :wt => :ruby, 
    :hl => false, 
    :rows => 1000, 
    :facet => true, 
    :facet_fields => 'cohort' 
    #:facet_limit => 10, 
    #:facet_mincount => 2 
} 

Vielen Dank!

Antwort

1

Ich würde stark vermuten, dass das Feld nicht indiziert ist. Kann es sein?

Damit ein Feld facettiert werden kann, muss es indiziert werden (siehe e.g. the faceting page of the Solr guide).

paul

+0

Hallo Paul, danke für deine Antwort. Die Kohorte ist indexiert. Ich denke, dass mein rSolr-Code nicht korrekt ist, weil Blacklight und die einfache HTTP-Anfrage die Facettenfelder zurückgibt. – Alexander