Skip To Content

Details zur Lucene-Indizierung im Geoportal

In diesem Thema

Details zur Lucene-Indizierung im Geoportal

Die Indizierung ist ein wichtiger Vorgang, da durch sie bestimmt wird, welche Eigenschaften abfragbar sind und wie Suchergebnisse zurückgegeben werden, wenn ein Benutzer Suchkriterien an das Geoportal sendet. Beim Veröffentlichen eines Metadatendokuments werden bestimmte Inhalte aus dem Dokument von der Suchmaschine zur Indizierung übergeben. Zur Vereinfachung der komplexeren Features von Lucene – der Technologie für die Suchindizierung des Geoportal Server – wird diesen Informationen eine bestimmte Bedeutung zugeordnet. Mit "Bedeutung" ist ein Konzept oder eine Eigenschaft gemeint, nach der Sie speziell suchen oder die Sie abfragen möchten. Diese "Bedeutung" legt fest, wie Lucene die Inhalte indiziert und wie sie bei der Suche verwendet werden können.

Bevor ein "Bedeutungswert" verwendet werden kann, muss er in einer Datei mit dem Namen property-meanings.xml, die sich im Ordner \\geoportal\WEB-INF\classes\gpt\metadata befindet, definiert werden. Das Geoportal referenziert die Datei property-meanings.xml zur Indizierung des Metadatenwerts für Suche und Abrufen.

Die Datei definition.xml jedes Geoportal-Metadatenprofils kann die Eigenschaftengruppe angeben, die indiziert wird. Diese Eigenschaften werden normalerweise in der Datei indexables.xml des jeweiligen Profils erfasst. Die indexables.xml stellt eine Verbindung zwischen dem XML-xpath eines Elements und seiner zugeordneten Bedeutung in der Datei proptery-meanings.xml her. Dadurch wird wiederum definiert, wie das Element indiziert und gesucht wird.

Hinweis:

Das Geoportal kann so angepasst werden, dass es automatisch alle Metadateninhalte indiziert, unabhängig davon, welcher Parameter den Metadaten zugeordnet ist. Informationen zur Aktivierung dieser Anpassung finden Sie unter Indizieren aller Metadateninhalte.

Bestimmen, ob ein Metadatenelement bereits standardmäßig indiziert ist

Wenn ein Metadatenelement in einem der Standard-Metadateneditoren des Geoportals angezeigt wird, ist das Element wahrscheinlich bereits standardmäßig indiziert. Wenn Sie jedoch ein benutzerdefiniertes Metadatenprofil mit neuen Metadatenparametern erstellt oder neue Metadatenelemente zu den Standardeditoren hinzugefügt haben, müssen Sie die Indizierung für das Element möglicherweise definieren.

Wenn Sie überprüfen möchten, ob das Element bereits indiziert ist, identifizieren Sie die Datei definition.xml für das Profil, die das Metadatenelement referenziert. Wenn wir beispielsweise das Element Lineage aus dem Profil INSPIRE (Daten) prüfen möchten, öffnen wir zunächst die Datei inspire-iso-19115-definition.xml in einem Texteditor. Hier müssen wir feststellen, welche indexables.xml-Datei von diesem Profil referenziert wird, und außerdem den xpath zu dem jeweiligen Metadatenelement finden. Die Datei indexables.xml finden Sie über das Attribut <indexables fileName=""> in der Datei definition.xml. In unserem Beispiel weist dies auf die Datei apiso-indexables.xml im Ordner \\geoportal\WEB-INF\classes\gpt\metadata\iso. Wenn Sie festgestellt haben, welche indexables.xml-Datei referenziert wird, öffnen Sie diese indexables.xml-Datei in einem Text- oder XML-Editor.

Den xpath für das jeweilige Metadatenelement finden Sie über das Element <parameter> für dieses Metadatenelement in der Datei definition.xml. In diesem <parameter>-Element befindet sich ein <content>-Unterelement. Das <content>-Unterelement verfügt über das Attribut select. Kopieren Sie den xpath aus diesem select-Attribut.

Damit das Metadatenelement indiziert wird, muss sein xpath in der Datei indexables.xml aufgelistet sein, die vom zugehörigen Metadatenprofil referenziert wird. Kehren Sie dazu zur Datei indexables.xml zurück, und suchen Sie den xpath, den Sie gerade kopiert haben. In unserem Beispiel Lineage haben wir die Zeichenfolge /gmd:MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:statement/gco:CharacterString aus der Datei inspire-iso-19115-definition.xml kopiert, und in der Datei apiso-indexables.xml danach gesucht. In unserem Beispiel finden wir sie in der Datei apiso-indexables.xml und sehen, dass sie vom Eigenschaftsbedeutungsnamen "apiso:Lineage" indiziert wird. Wenn wir in der Datei property-meaningx.xml nach apiso name="apiso:Lineage" suchen, sehen wir, dass apiso.Lineage für diesen Text abfragbar ist. Wir könnten also apiso.Lineage:searchTerm in das Feld Suchen auf der Geoportal-Suchseite eingeben, um die Lineage-Elemente für searchTerm zu durchsuchen.

Wenn der xpath zum Metadatenelement nicht im Dokument indexables.xml vorhanden ist, können Sie seinen xpath einem der in der Datei aufgelisteten Eigenschaftenbedeutungen hinzufügen. Nachdem Sie den xpath zur Eigenschaftsbedeutung hinzugefügt haben, die der Bedeutung des Metadatenelements entspricht, speichern Sie die Datei indexables.xml, und starten Sie die Geoportal-Webanwendung neu. Sie müssen die Ressourcen über die Oberfläche Verwaltung des Geoportals neu genehmigen, damit sie mit Ihrer neuen Eigenschaftsbedeutung neu indiziert werden.

Anweisungen finden Sie im Verlauf dieses Themas, lesen Sie jedoch zunächst den nachfolgenden Abschnitt zur Datei property-meanings.xml.

Die Datei "property-meanings.xml"

Überprüfen Sie vor dem Hinzufügen neuer Bedeutungen die Datei property-meanings.xml, um herauszufinden, ob eine vorhandene Bedeutung Ihren Anforderungen entspricht. Einige der bereits in der Datei definierten Bedeutungen sind in der nachfolgenden Tabelle aufgeführt, zusammen mit Funktionen, die der Geoportal-Code eventuell der jeweiligen Bedeutung zuordnet. Zusätzliche, für ISO-basierte Standards definierte Bedeutungen finden Sie ebenfalls in der Datei property-meanings.xml, sie sind jedoch nicht in der Tabelle aufgeführt. Wenn Sie vorhandene Bedeutungen verwenden, sind Aktualisierungen auf zukünftige Versionen des Geoportals weniger aufwändig. Die vorhandenen Bedeutungen sollten den meisten Ihrer Suchanforderungen gerecht werden.

property-meaning namedescriptionGeoportal-Funktion

uuid

Primärschlüssel des Geoportals für die Identifizierung des Dokuments.

Normalerweise taucht dieser Wert in URLs auf. Beispiel: http://host:port/geoportal/rest/document?id=[uuid]

fileIdentifier

Stellt einen Identifikator aus dem Metadatendokument dar. Nicht alle Metadatenstandards unterstützen ein internes Identifikator -Metadatenelement. Wenn vorhanden, sollte es global eindeutig sein.

Wird vom Geoportal verwendet, um Ressourcenduplikationen zu vermeiden, und dient als alternativer Identifikator für die meisten REST-basierten Funktionen. For example: http://host:port/geoportal/rest/document?id=[fileIdentifier]

sys.siteuuid

Wird intern vom Geoportal verwendet und ist Dokumenten zugeordnet, die aus Remote-Katalogen gesammelt werden. Ist der Identifikator des Remote-Katalogs und ist verfügbar. Ändern Sie diese nicht.

Auf Abfrage erhältlich.

dateModified

Der Änderungszeitstempel des Geoportals für die letzte Aktualisierung der XML der Ressource.

Wird verwendet im Dialogfeld Zusätzliche Optionen auf der Seite Suchen des Geoportals sowie zum Suchen nach Datum.

geometry

Steht für die Gesamtausdehnung, die der Ressource zugeordnet ist.

Wird für räumliche Abfragen verwendet.

Schlüsselwörter

Mit der Ressource verknüpfte Schlüsselwörter.

Auf Abfrage erhältlich.

body

Keine spezifische Abfrage; ein Sammelbegriff für das Indizieren und Suchen von Text in einem Metadatendokument.

Wenn Sie ein bestimmtes Element indizieren möchten, aber keine Abfrage für dieses spezielle Element planen, indizieren Sie es als "body".

anytext

"Anytext" wird eigentlich nicht indiziert. Es handelt sich um eine Sammlung von Eigenschaften, die durchsucht werden, wenn die Abfrage anytext angegeben wird.

Allgemeine Suchen, die nicht auf eine spezifische Eigenschaft abzielen, sind anytext-Abfragen.

title

Titel der Ressource.

Wird verwendet, wenn der Titel der Ressource angezeigt wird, beispielsweise in der Liste der Suchergebnisse auf der Seite Suchen.

title.org

Erfasst den Originaltitel, der von der GetCapabilities-Antwort einer Ressource bereitgestellt wird.

Ermöglicht es dem Geoportal, sowohl nach einem vom Benutzer angegebenen Titel für eine registrierte Ressource als auch nach dem Originaltitel gemäß GetCapabilities-Antwort zu suchen.

abstract

In der Ressource verknüpfte Kurzfassung.

Verweist auf die Informationen, die als Text unter dem Titel angezeigt werden, oder auf einen Datensatz in der Liste der Suchergebnisse.

contentType

Esri Konzept für die Kategorisierung von Ressourcen.

Wird für die Generierung des Symbols für die Ressource, die in den Ergebnissen auf der Seite Suchen aufgelistet ist, und als Filter im Dialogfeld Zusätzliche Optionen verwendet.

dataTheme

ISO-Themenkategorie-Code, der der Ressource zugeordnet ist. Im Standard ISO 19115 ist die Themenkategorie-Codeliste definiert.

Verweist auf die ISO-Kategorien im Dialogfeld Zusätzliche Optionen.

resource.url

Primärer Endpunkt für den Internetzugriff auf die Ressource.

Wird für die Erstellung von Link in Suchergebnissen verwendet. Das ist beispielsweise die URL, auf die zugegriffen wird, wenn man auf den Link Vorschau oder Öffnen klickt. Außerdem wird sie manchmal verwendet, um den Esri contentType für die Ressource zu bestimmen.

thumbnail.url

URL zur Miniaturansicht der Ressource.

Wird zur Generierung der Miniaturansicht neben der Ressource in der Liste der Suchergebnisse verwendet.

website.url

URL zu einer Website, die mit der Ressource verknüpft ist.

Wird zur Generierung eines Links zur Website für die Ressource in der Liste der Suchergebnisse verwendet.

Jede Eigenschaftenbedeutung in der Datei property-meanings.xml hat Attribute. Diese Attribute für Eigenschaftenbedeutungen werden unten beschrieben.

AttributnameDescription

Name

Eindeutiger Name für die Bedeutung in dieser Datei; sollte mit dem Attribut meaning="" in der Datei definition.xml übereinstimmen. Aus dem zugewiesenen Namen wird ein Lucene-Feld, das für erweiterte Suchen verwendet werden kann, wie in der Lucene-Dokumentation beschrieben. Wenn Sie beispielsweise den Namen title festlegen und dann title:water auf Ihrer Geoportal-Suchseite eingeben, werden nur Elemente zurückgegeben, bei denen sich water im Index befindet, den Lucene mit der Eigenschaftenbedeutung title verknüpft hat.

meaningType

Wird verwendet, um Metadatenelemente zu kennzeichnen, die mit einer Funktion im Geoportal verknüpft sind. Der meaningType einer Eigenschaftenbedeutung sollte nicht geändert werden.

valueType

Datentyp des Eigenschaftswerts, z. B. "Doppelt", "Geometrie", "Lang", "Zeichenfolge" oder "Zeitstempel".

comparisonType

Gibt an, wie Lucene die Eigenschaftswerte indiziert. Drei Optionen sind in der Datei property-meaning.xml definiert:

  • term: Mit diesem Attribut verknüpfte Ausdrücke werden mit einem Token versehen. Wenn z. B. "San Diego" gespeichert wird und es mit einer Bedeutung verknüpft ist, die den comparisonType term hat, wird es als zwei separate Wörter gespeichert: "San" und "Diego". Außerdem werden Begriffe mit Kleinbuchstaben gespeichert, z. B. "san" und "diego".
  • keyword: Mit diesem Attribut verknüpfte Ausdrücke werden nicht mit einem Token versehen. Wenn z. B. "San Diego" gespeichert wird und es mit einer Bedeutung verknüpft ist, die den comparisonType keyword hat, wird es als ein Ausdruck gespeichert. Bei einer Suche nach "San" wird der Datensatz nicht zurückgegeben, nur bei einer Suche nach "San Diego". Außerdem werden Schlüsselwörter mit Kleinbuchstaben gespeichert, z. B. "san" und "diego".
  • value: Mit diesem Attribut verknüpfte Elemente werden als Werte gespeichert, nicht als Ausdrücke oder Wörter. Bei Elementen wird die Groß-/Kleinschreibung beachtet. Ein Beispiel ist die Bedeutung fileIdentifier. Parameter mit meaning="fileIdentifier" verfügen wahrscheinlich über eindeutige Identifizierungszeichenfolgen, z. B. {F56408D6-4325-484C-B753-5E8FD4421E31}. Bei einer Suche nach einem Teil der Zeichenfolge, z. B. "E31" wird der Datensatz nicht abgerufen, da die Zeichenfolge als vollständiger Wert gespeichert ist und nicht geparst wird. Bei einer Suche nach einem Teil der Zeichenfolge, z. B. "{f56408d6-4325-b753-5e8fd4421e31}" wird der Datensatz ebenfalls nicht zurückgegeben, da beim gespeicherten Wert die Groß-/Kleinschreibung beachtet wird.

Einige Eigenschaftenbedeutungen verfügen über ein oder zwei zusätzliche Unterelemente, <dc> und <consider>.

  • Das Element <dc> steht für "Dublin Core". Das Element <dc> erleichtert die Verbindung von Eigenschaftenbedeutungen mit Dublin Core-Konzepten. Dies ist unerlässlich für die Unterstützung des CS-W-OGCORE-Profils und definiert, was über CS-W abgefragt und zurückgegeben werden kann. Innerhalb des Elements <dc> befinden sich Attribute für name und aliases. Das Attribut name definiert den Namen des Dublin Core-Elements. Das Attribut aliases definiert alternative Wörter, die erkannt werden, wenn sie als CS-W-Eigenschaftsname bereitgestellt werden.
  • Das Element <consider> wird nur für die Eigenschaft anytext verwendet. Es definiert andere Eigenschaftenbedeutungen, die einbezogen werden sollen, wenn ein Suchziel anytext ist. Die Eigenschaftenbedeutung für anytext ist beispielsweise nachfolgend dargestellt. Da für anytext vier weitere Eigenschaftenbedeutungen im Element <consider> aufgelistet sind, werden bei einer Suche nach anytext Titel, Kurzfassung, Schlüsselwörter und Texteigenschaften durchsucht.
    <property-meaning name="anytext" meaningType="anytext" valueType="String" comparisonType="terms" allowLeadingWildcard="true">
      <consider>title,abstract,keywords,body,contentType,dataTheme</consider>  
        <dc name="AnyText" aliases="csw:AnyText,any,csw:Any"/>
      </property-meaning>
    

Definieren einer neuen Eigenschaftenbedeutung

Wenn Sie ein benutzerdefiniertes Metadatenprofil erstellt oder neue Elemente zu einem vorhandenen Geoportal Metadatenprofil hinzugefügt haben, und keine der existierenden Eigenschaftenbedeutungen in der Datei property-meanings.xml Ihren Anforderungen entspricht, müssen Sie eventuell eine neue Eigenschaftenbedeutung definieren. Befolgen Sie die Anweisungen unten.

  1. Fügen Sie die neue Eigenschaftenbedeutung unter Verwendung der Parameter in der Tabelle oben zur Datei property-meanings.xml hinzu.
  2. Fügen Sie jetzt der Datei indexables.xml für das Profil Ihrer Metadaten eine Referenz zu Ihrer Eigenschaftenbedeutung hinzu. Stellen Sie sicher, dass der xpath für die Eigenschaftenbedeutung in der Datei indexables.xml den xpath für das Element gemäß der entsprechenden definition.xml-Datei ordnungsgemäß referenziert.
  3. Speichern Sie die Dateien, und starten Sie anschließend die Geoportal-Webanwendung neu. Sie müssen die Ressourcen über die Oberfläche Verwaltung des Geoportals neu genehmigen, damit sie mit Ihrer neuen Eigenschaftsbedeutung neu indiziert werden.