1.11 Solr Queries

Allgemein

Immer wieder wird im Backend des Goobi viewers auf die Notwendigkeit der Formulierung von Solr-Queries verwiesen, wenn es darum geht eine Funktionalität nur für bestimmte Werke zur Verfügung zu stellen. Auf dieser Seite sollen ein paar Fragen in diesem Kontext beantwortet werden.

Formulierung von Solr-Queries

Eine Solr-Query wird immer als FELDNAME:WERT formuliert, zum Beispiel MD_PLACEPUBLISH:Berlin. Enthält der Wert ein Leerzeichen oder ein sonstiges Trennzeichen muss er in Anführungsstriche gesetzt werden MD_PLACEPUBLISH:"New York".

Mehrere Bedingungen können mit Leerzeichen getrennt hintereinander geschrieben werden. Diese sind automatisch als ODER verknüpft.

Beispiel

MD_PLACEPUBLISH:Berlin MD_PLACEPUBLISH:"New York"

Die Query bedeutet: "Finde alle Treffer, bei denen im Feld MD_PLACEPUBLISH der Wert Berlin oder der Wert New York enthalten ist".

Wenn Bedingungen mit UND verknüpft werden sollen, dann muss dem Feld-Wertpaar ein + Zeichen vorgestellt werden.

Beispiel

+MD_AUTHOR:"John Doe" +MD_PLACEPUBLISH:"New York"

Die Query bedeutet: "Finde alle Treffer bei denen im Feld MD_AUTHOR der Wert John Doe und in dem Feld MD_PLACEPUBLISH der Wert New York enthalten ist.

Wenn Bedingungen negiert werden sollen geschieht das mit einem vorgestellten - Zeichen

Beispiel

+MD_AUTHOR:"John Doe" -MD_PLACEPUBLISH:Washington

Die Query bedeutet: Finde alle Treffer in denen im Feld MD_AUTHOR der Wert John Doe enthalten ist und gleichzeitig das Feld MD_PLACEPUBLISH nicht den Wert Washington enthält.

Auch Klammersetzung ist unter der Angabe von einfachen Klammern möglich. Dies kann für die Verknüpfung von UND und ODER Bedingungen genutzt werden.

Beispiel

+ISWORK:true +DOCSTRCT:monograph +(FACET_PLACEPUBLISH:Berlin FACET_PLACEPUBLISH:'New York')

Die Query bedeutet: Finde mir alle Werke vom Publikationstyp Monographie die als Erscheinungsort entweder Berlin oder New York angegeben haben.

Herausfinden der Solr-Felder

Für die Formulierung der Solr-Queries ist es notwendig zu wissen welche Solr-Felder es überhaupt gibt. Hierfür stehen zwei Informationsquellen zur Verfügung.

Zum einen ist in Kapitel 2.10 der Goobi viewer Indexer Dokumentation das Solr Schema grob erklärt:

page2.11 Solr Schema

Zum anderen bringt jede Goobi viewer Installation einen API Endpunkt mit, bei dem die vorhandenen Solr-Felder inklusive deren Übersetzungen aufgelistet werden. Der Endpunkt ist unter der URL /index/fields zu erreichen, zum Beispiel hier:

Last updated