2010-09-13 8 views
10

In Solr/Lucene ist es möglich, zuerst nach Relevanz und dann nach einem zweiten Attribut zu ordnen?Solr/Lucene ist es möglich, zuerst nach Relevanz und dann nach einem zweiten Attribut zu ordnen?

Soweit ich sagen kann, wenn ich einen Bestellparameter festlegen, überschreibt es völlig Relevanz, und sortiert nach den Bestellparameter (n).

Wie kann ich die Ergebnisse zuerst nach Relevanz sortieren lassen und dann im Fall von zwei Einträgen mit genau der gleichen Relevanz den Artikel, der, sagen wir, zuerst alphabetisch kommt.

Wenn es einen Unterschied macht, verwende ich Solr durch Sunspot in Ruby on Rails.

+0

Ich frage mich, ob dies gut funktionieren würde, da Relevanz sortiert stark variieren würde. Ich frage mich, ob Solr Relevanz Ergebnisse in viele Ebenen segmentieren kann, und sortieren Sie dann jede dieser durch die zweite Spalte. – lulalala

Antwort

8

Mein eigenes Problem gelöst!

Das Schlüsselwort score kann übergeben werden, um das Ergebnis nach Relevanz zu sortieren.

So in Rails Sunspot Begriffe:

Article.search do 
    keywords params[:query] 
    order_by :score, :desc 
    order_by :name, :asc 
end 
+1

Das könnte ein spätes Catch-Up sein, aber ich habe deine Lösung ausprobiert und es funktioniert nicht für mich. Immer wenn ich Punkte zum Sortieren verwende, wird nur die zweite Sortieroption verwendet. Wenn ich nur Partitur verwende, funktioniert es gut. Wenn ich zwei andere Sortierkriterien kombiniere, funktioniert das auch. gibt es noch etwas zu tun? Kennen Sie Probleme mit der Edelsteinversion? Schätzen Sie Hilfe –

Verwandte Themen