1.17.1 Sortierung

Die Sortierung der Suchtrefferliste lässt sich folgendermaßen konfigurieren:

config_viewer.xml
config_viewer.xml
<search>
<sorting enabled="true">
<defaultSortField>RANDOM</defaultSortField>
<luceneField>SORT_CREATOR</luceneField>
<luceneField>SORT_TITLE</luceneField>
<luceneField>SORT_YEARPUBLISH;SORT_TITLE</luceneField>
<static>
<field>BOOL_PRIORITIZE</field>
</static>
</sorting>
</search>

Über das Attribut enabled lässt sich die Sortierung komplett abschalten (Standardwert ist true). Über die Elemente <luceneField> werden die Solr Felder definiert, nach denen die Sortierung vorgenommen werden kann. Die Reihenfolge der Auflistung entspricht dabei der angezeigten Reihenfolge.

Soll ein Sortierfeld sofort bei der ersten Suche verwendet werden, bevor der Benutzer eine explizite Sortierung ausgewählt hat, kann dieses im Element <defaultSortField> definiert werden. Wird dort RANDOM eingetragen, werden Suchtreffer anstatt nach Relevanz zufällig sortiert.

Es können mehrere Sortierfelder mit Semikolon getrennt hintereinander angegeben werden. Ein Beispiel ist in dem obigen Code Block mit SORT_YEARPULISH;SORT_TITLE zu sehen. Damit werden die Treffer zuerst nach SORT_YEARPUBLISH sortiert. Die Werke, die das Metadatum nicht enthalten werden darunter nach SORT_TITLE aufgelistet.

Eine zusätzliche statische Liste an Sortierfeldern <static> kann verwendet werden, um bestimmte Werke anhand des Vorhandenseins eines bestimmten Indexfeldes stets oben zu plazieren. Die hier konfigurierten Felder werden in der Sortierreihenfolge vor den normalen Sortierfeldern angewandt und sind für den Nutzer nicht sichtbar.

Die zur Sortierung verwendeten Felder dürfen keine Felder mit mehrfachen Werten sein (das heißt in ihrer Deklaration in /opt/digiverso/solr/solr/server/solr/configsets/goobiviewer/conf/schema.xml darf das Attribut multiValued nicht den Wert true haben).