1.17.2 Facettierung
Es findet automatisch eine Facettierung über die Suchtreffer statt. Die Konfiguration ist wie folgt:
config_viewer.xml
1
<search>
2
<facets>
3
<field>YEAR</field>
4
<geoField predicate="IsWithin" displayResultsOnMap="true">WKT_COORDS</geoField>
5
<hierarchicalField initialElementNumber="4">DC</hierarchicalField>
6
<field initialElementNumber="3">DOCSTRCT_TOP</field>
7
<field initialElementNumber="3">DOCSTRCT_SUB</field>
8
<field initialElementNumber="3" sortOrder="alphabetical_asc">MD_CREATOR </field>
9
<field initialElementNumber="3" priorityValues="Berlin;Göttingen">MD_PLACEPUBLISH</field>
10
<field labelField="MD_LABEL">MD_LOCATION</field>
11
</facets>
12
</search>
Copied!
Es lassen sich über <field> Elemente beliebig viele zusätzliche Indexfelder für die Facettierung definieren. Zu beachten ist, dass hierfür Felder mit dem Präfix FACET_ im Index existieren sollten, da diese aufgrund Ihrer Konfiguration hierfür effizienter verarbeitet werden. Felder mit dem Präfix FACET_ werden während der Indexierung automatisch für alle MD_* Felder sowie für DC, DOCSTRCT, CENTURY und YEAR generiert. Konfiguriert sollten dennoch die regulären Feldbezeichnungen – die speziellen Facettierungsfelder werden intern automatisch verwendet.
Das Attribut labelField kann ein vom Facettierungsfeld abweichendes Indexfeld für Label-Werte enthalten. So kann etwa bei gruppierten Metadaten, die unterschieldiche Namen einer Stadt (zum Beispiel "Instanbul" und "Konstantinopel") enthalten, über einen gemeinsamen Normwert (zum Beispiel eine URI) facettiert werden. Dabei wird ein aus den verschiedenen Namen zusammengesetzter Wert dem Benutzer angezeigt, und die Facettierung erfolgt über den Normwert.
Die Felder DOCSTRCT_TOP (Dokumententyp) und DOCSTRCT_SUB (Strukturelement) werden automatisch generiert.
Felder, die hierarchisch dursucht werden (zum Beispiel DC) sollten als <hierarchicalField> konfiguriert werden. Das Attribut initialElementNumber="" definiert die Anzahl der nach einer Suche anfänglich angezeigten Facettierungswerte. Alle weiteren werden angezeigt, indem das betreffende Facettierungselement aufgeklappt wird.). Über das Attribut sortOrder="" kann die initiale Sortierung innerhalb der Facettierung gesetzt werden. Mögliche Werte sind alphabetical_asc, alphabetical_desc, numerical_asc und numerical_desc. Ist keine sortOrder gesetzt, wird automatisch nach Vorkommen der Treffer absteigend sortiert. Die Reihenfolge in der Konfigurationsdatei spiegelt die Reihenfolge in der Oberfläche wieder.
Im Attribut priorityValues können (Semikolon-separiert) Werte angegeben werden, die stets oben einsortiert werden sollen, wenn diese Werte vorkommen, unabhängig von der sonstigen Sortierung der Facettierwerte.
Wird das Feld YEAR definiert, so wird dieses in Form eines Sliders in der Oberfläche angezeigt.
Wird ein <geoField> konfiguriert, muss es den Wert WKT_COORDS haben, das Feld über das eine geospatiale Suche im SOLR ausgeführt werden kann. Dann wird zu jeder Suche ein Kartenwidget angezeigt, durch die sich die Suchtreffer nach geographischen Bereichen facettieren lassen. Mit dem Attribut displayResultsOnMap kann reguliert werden, ob für alle Suchtreffer mit Geokoordinaten Markierungen im Kartenwidget angezeigt werden. Der default ist true.
Dem Element <geoField> kann außerdem ein Attribute predicate angefügt werden, das beschreibt, wie nach Treffern innerhalb eines Bereichs gesucht wird. Es gibt drei mögliche Werte:
  1. 1.
    IsWithin: Findet nur Treffer, deren sämtliche in WKT_COORDS enthaltenen Objekte - Punkte oder Polygone - vollständig innerhalb des Suchbereichs liegen. Dies ist der Standardwert.
  2. 2.
    Intersects: Findet alle Treffer, von denen zumindest ein in WKT_COORDS enthaltenes Objekt den Suchbereich irgendwie überschneidet.
  3. 3.
    Contains: Findet alle Treffer, die zumindest ein Polygon in WKT_COORDS enthalten, das den Suchbereich vollständig enthält.
Last modified 1mo ago
Copy link