Volltextindizes in der Geodatabase

Ein Volltextindex ist ein spezialisierter Index, in dem Informationen zu einzelnen Wörtern (Token) und ihrer Position in Textfeldern gespeichert werden. Nach der Erstellung ermöglicht ein Volltextindex ein effizientes Durchsuchen großer Textmengen nach bestimmten Wörtern, Formulierungen oder Ausdrücken.

Zweck und Vorteile von Volltextindizes

Der Hauptzweck von Volltextindizes besteht darin, die Suchmöglichkeiten zu verbessern und Textdaten schnell und genau abzurufen. Dies hat insbesondere die folgenden Vorteile:

  • Effiziente Textsuche: Volltextindizes ermöglichen ein schnelleres Durchsuchen von Textfeldern im Vergleich zu regulären Attributindizes. Dies liegt daran, dass sie im Hinblick auf die Textsuche optimiert wurden, sodass nicht mehr die gesamte Tabelle durchforstet werden muss.
  • Komplexe Abfragefunktionen: Volltextindizes unterstützen komplexe Abfragen, z. B. das Suchen nach Ausdrücken, Umkreissuchen und das Erstellen von Ergebnisrangfolgen nach Relevanz.
  • Verbesserte Performance: Durch die Indizierung der Textdaten können Volltextindizes entscheidend dazu beitragen, die Performance von Suchvorgängen zu verbessern. Besonders wichtig ist dies bei großen Datasets, bei denen das Durchsuchen von Text sehr ressourcenintensiv sein kann.
  • Unterstützung mehrerer Felder: In SQL Server kann ein einziger Volltextindex mehrere Felder aus einer Tabelle enthalten und umfassende Textsuchen in verschiedenen Spalten ermöglichen.

Um zu demonstrieren, welche Vorteile die Verwendung von Volltextindizes hat, betrachten wir das folgende Beispiel:

Ein Inhaltsverzeichnis in einem Buch gibt Auskunft darüber, wo die einzelnen Kapitel zu finden sind. Wenn Sie Kapitel 7 suchen, können Sie dazu das Inhaltsverzeichnis zu Rate ziehen, die entsprechende Seite aufschlagen und dort die benötigten Informationen finden. Wenn Sie jedoch versuchen, sich an ein wichtiges Zitat zu erinnern, in dem das Wort "Menschheit" vorkommt, und Sie nicht wissen, in welchem Kapitel es sich befindet, hilft Ihnen das Inhaltsverzeichnis nicht weiter. Sie müssten alle Seiten des Buches nacheinander durchblättern, um das Zitat zu suchen – es sein denn, das Buch verfügt über einen Volltextindex. In einem Volltextindex werden alle Wörter im Buch mit den jeweiligen Seitenzahlen aufgeführt. Darin können Sie schnell nach Wörtern wie Menschheit suchen und sogar Ausdrücke finden, z. B. "ein großer Schritt für die Menschheit".

Erwägen Sie die Verwendung von Volltextindizes, wenn Sie komplexe Textsuchen innerhalb eines Textfeldes durchführen müssen. Volltextindizes sind insbesondere in den folgenden Situationen hilfreich:

  • Suche nach Einzelwörtern: Sucht nach einzelnen Wörtern innerhalb eines Textfeldes, z. B. Hurrikan oder Florida.
  • Suche nach Ausdrücken: Sucht nach einem Ausdruck, d. h. nach einer Gruppe von Wörtern. Um eine Suche nach einem Ausdruck durchzuführen, umgeben Sie die Gruppe von Wörtern mit doppelten Anführungszeichen, z. B. "Evakuierungsrouten".

Im folgenden Szenario wird anhand eines Beispiels veranschaulicht, warum Volltextindizes so nützlich sind.

Ein Gasversorgungsunternehmen verfolgt Inspektionsberichte und Sicherheitsdokumente für das Versorgungsnetz. Wenn ein Volltextindex auf die Textfelder einer Geodatabase mit Inspektionsberichten, Sicherheitsbeschreibungen und Wartungsprotokollen angewendet wird, können Volltextsuchen Abfragen von Ausdrücken für Begriffe wie Gasleck oder Pipeline-Korrosion unterstützen. Auf diese Weise wird die Geschwindigkeit und Genauigkeit von Sicherheitsmaßnahmen und Wartungsplänen verbessert.

Pipeline-Netz eines Gasversorgungsunternehmens

Weitere Informationen zum Erstellen eines Versorgungsnetzes und der Konfiguration eines Gasversorgungsnetzes.

Volltextindizes sind darauf ausgelegt, Textsuchfunktionen in Datenbanken zu verbessern. Im Gegensatz zu Attributindizes, die sich auf bestimmte Spalten und räumliche Indizes zum Verarbeiten geographischer Informationen konzentrieren, werden mit Volltextindizes Suchläufe in Textfeldern durch das Indizieren jedes einzelnen Wortes optimiert. Dies ermöglicht eine effiziente Suche, komplexe Abfragen wie das Suchen nach Ausdrücken und eine verbesserte Performance beim Abrufen relevanter Textdaten.

Unter Indizes in der Geodatabase finden Sie einen Vergleich von Attribut-, Volltext- und räumlichen Indizes in einer Tabelle.

Funktionsweise von Volltextindizes

Volltextindizes sind ein leistungsstarkes Werkzeug, mit dem sich große Mengen textbasierter Daten einfacher schnell durchsuchen lassen. Nach seiner Erstellung für ein Feld ermöglicht ein Volltextindex das Durchführen von Textsuchen zum schnellen, effizienten Durchsuchen großer Textmengen nach bestimmten Wörtern, Formulierungen oder Ausdrücken.

Textsuchen sind in verschiedenen Teilen von ArcGIS verfügbar, z. B. in den folgenden:

  • ArcGIS Portal Directory REST API: Abfragen von Daten durch Web-Services.
  • ArcObjects: Programmgesteuertes Zugreifen auf und Bearbeiten von GIS-Daten.
  • Bereich "Suchen": Verwenden Sie in ArcGIS Pro den Bereich Suchen, um den Volltextsuchmodus Volltext beginnt mit oder Volltext ist gleich, auf das Feld, in dem gesucht werden soll, anzuwenden.
    Optionen für den Volltextsuchmodus in der Ansicht "Für Suche konfigurieren" im Bereich "Suchen"

Weitere Informationen zu den Modi für die Volltextsuche und zum Suchen von konfigurierten Features oder Datensätzen unter Verwendung des Bereichs "Suchen"

Vorsicht:

In ArcGIS Pro können Sie einen sehr einfachen Volltextindex erstellen. Die Verwaltung und Optionen zum Anpassen eines Volltextindex müssen manuell auf DBMS-Ebene mit DBMS-Werkzeugen durchgeführt werden.

Im folgenden Szenario wird allgemein und auf vereinfachte Weise simuliert, wie ein Volltextindex erstellt, gespeichert und zum schnellen und genauen Suchen und Abrufen von Textdaten verwendet wird.

Die Tabelle GIS.Storm_Damage_Assessment enthält mehrere Attributfelder, in denen der Typ, der Schweregrad und eine Beschreibung der von Hausbesitzern gemeldeten Schäden nach kurz zuvor aufgetretenen Stürmen gemeldet wurden. Weitere Felder, die in dieser Tabelle nicht sichtbar sind, enthalten die Adress- und Kontaktinformationen der Besitzer.

Tabelle "GIS.Storm_Damage_Assessment" vor Anwendung eines Volltextindex

Wenn Sie als Versicherungsagent dieser Hausbesitzer einen Volltextindex für das Feld Damage _Description einrichten, können Sie schnell nach wichtigen Begriffen wie Gutters, Shingles, Window, Roof oder Leaks suchen und dann auf Grundlage des jeweiligen Schadens und der erforderlichen Reparaturen einen geeigneten Auftragnehmer empfehlen, mit dem der Hausbesitzer Kontakt aufnehmen kann.

  1. Erstellen Sie einen Volltextindex mit dem Werkzeug Volltextindex hinzufügen. In diesem Beispiel wurden der Name der Tabelle, GIS.Storm_Damage_Assessment, und das Feld mit den zu indizierenden Textdaten, Damage_Description, angegeben.
    Hinzufügen eines Volltextindex für das Feld "Damage_Description"
  2. Beim Auffüllen des Index wird der Text im bezeichneten Feld in einzelne Schlüsselbegriffe (Token) aufgeteilt, organisiert, nachverfolgt und dann die genaue Position jedes einzelnen Wortes dem Textfeld wieder zugeordnet, um einen schnellen Zugriff zu ermöglichen.

    Case Study:
    Die folgende Abbildung wird nur gezeigt, um sehr allgemein und vereinfacht zu simulieren, wie ein Volltextindex in einzelne Schlüsselbegriffe aufgeteilt und deren Position dann dem Textfeld wieder zugeordnet wird.

    In diesem Beispiel aus der Tabelle GIS.Storm_Damage_Assessment lautet der erste Attributwert in Zeile 1 unter dem Feld Damage_Description Missing or Lifted Shingles. Beim Auffüllen dieses Volltextindex würde dieser Text in die folgenden Schlüsselbegriffe aufgeteilt, alphabetisch organisiert und die genaue Position der einzelnen Begriffe im bezeichneten Textfeld Damage_Description aufgezeichnet.

    • Missing: Kommt viermal vor (Zeile 1, 4, 8 und 9)
    • Lifted: Kommt zweimal vor (Zeile 1 und 9)
    • Shingles: Kommt sechsmal vor (Zeile 1, 3, 4, 5, 8 und 9)
    Volltextindex
    Der Index fungiert als Glossar für alle Schlüsselbegriffe im indizierten Feld. Er organisiert und verfolgt die genaue Position jedes Wortes zurück zum ursprünglichen Index.

    Dieser Vorgang wird fortgesetzt, bis der gesamte Text im angegebenen Textfeld in Schlüsselbegriffe aufgeteilt, organisiert und die Position jedes Begriffs aufgezeichnet wurde.

  3. Nachdem der Volltextindex für das Feld Damage_Description erstellt wurde, können Sie den Bereich Suchen verwenden, um den Volltextsuchmodus Volltext ist gleich auf das Feld Damage_Description anzuwenden.

    Legen Sie im Bereich "Suchen" den Modus "Volltext ist gleich" als Suchmodus für das Feld, in dem der Volltextindex enthalten ist, fest.

  4. Bei diesem Beispiel können Sie im Bereich Suchen nach dem einzelnen Wort Shingles suchen.

    Ohne angewendeten Volltextindex würde die Suche zu einer zeitraubenden Überprüfung der gesamten Tabelle führen. Da jedoch ein Volltextindex für das Feld Damage_Description erstellt wurde, können Sie im Bereich "Suchen" dieses Feld nach dem einzelnen Wort Shingles abfragen. Im Bereich Suchen wird eine Volltextsuche verwendet, die schnell den Begriff Shingles identifiziert und alle Zeilen ermittelt, in denen dieser Schlüsselbegriff im indizierten Feld vorkommt, wie im folgenden Beispiel dargestellt.

    Abfrageergebnisse für ein indiziertes Feld in einem Volltextindex

    Anhand der Ergebnisse der Suche können Sie schnell alle Schadensmeldungen, in denen Dachschindeln vorkommen, identifizieren, damit der Hausbesitzer zu dem Auftragnehmer Kontakt aufnehmen kann, der entsprechend dem gemeldeten Schaden am besten geeignet ist.

Verwalten von Volltextindizes in ArcGIS

Die Art, wie ArcGIS Pro Volltextindizes erstellt, hängt vom Geodatabase-Typ und bei Enterprise-Geodatabases vom verwendeten Datenbankmanagementsystem ab. In den nächsten beiden Abschnitten werden diese Funktionsunterschiede erläutert.

Hinweis:

Berücksichtigen Sie bei der Verwendung von Volltextindizes Folgendes:

  • Volltextindizes werden in File-Geodatabases oder einer Enterprise-Geodatabase in Db2 nicht unterstützt.
  • Einzelne und mehrere Indizes: Einige RDBMS unterstützen möglicherweise nur einen einzigen Volltextindex pro Tabelle, andere dagegen auch mehrere.
  • Verwaltung: Volltextindizes müssen von der zugrunde liegenden Datenquelle verwaltet werden. Sie werden aktualisiert, um Datenänderungen zu übernehmen. Dies kann sich auf die Such-Performance auswirken.

Volltextindizes in Mobile-Geodatabases

Volltextindizes werden in Mobile-Geodatabases unterstützt. Mobile-Geodatabases werden in einer SQLite-Datenbank gespeichert. Diese Datenbank enthält bereits die Erweiterung FTS5. Die Erweiterung SQLite FTS5 (Volltextsuche) wird für die Volltextindizierung in Mobile-Geodatabases verwendet und erstellt virtuelle Tabellen und weitere Nebentabellen, um die Volltextindizes zu verwalten. Das bedeutet, dass Mobile-Geodatabases auch nativ über die Erweiterung FTS5 verfügen.

Volltextindizes in Enterprise-Geodatabases

ArcGIS Pro unterstützt Volltextindizes für eine Tabelle oder Feature-Class in einer Geodatabase in jeder der folgenden unterstützten Datenbankmanagementsystem-Plattformen mit jeweils spezifischen Konfigurationen:

  • Oracle
    • Unterstützt Volltextindizes für nicht in Unicode vorliegende Textfelder.
    • Erfordert die Konvertierung von Unicode-Feldern in Nicht-Unicode-Felder für die Indizierung.
      Tipp:

      Verwenden Sie das Werkzeug Textfeld migrieren, um vorhandene geeignete Unicode-Textfeldtypen in Nicht-Unicode-Feldtypen zu migrieren. Das Eingabe-Dataset muss aus einer Enterprise-Geodatabase in Oracle stammen und ein geeigneter Unicode-Textfeldtyp sein, der in einen Nicht-Unicode-Textfeldtyp migriert werden kann, einschließlich folgenden Mechanismen:

      • NVARCHAR2 wird in VARCHAR2 konvertiert.
      • NCHAR wird in VARCHAR2 konvertiert.
      • NCLOB wird in CLOB konvertiert.

  • PostgreSQL
    • Unterstützt die Erstellung eines Volltextindex pro Feld.
  • SQL Server
    • Die Volltext-Suchfunktion ist eine optionale Komponente der SQL Server Database Engine und muss zunächst aktiviert werden, bevor der Vorgang fortgesetzt wird und die folgenden Anforderungen erfüllt sind. Wenn die Volltextfunktion noch nicht für die SQL Server-Instanz aktiviert wurde, müssen Sie die SQL Server-Einrichtung erneut ausführen.
    • Ein SQL Server-Volltextkatalog ist ein virtueller Container für ein oder mehrere Volltextindizes. Erstellen Sie mit SQL Server mindestens einen Volltextkatalog in jeder SQL Server-Datenbank, in der Volltextindizes erstellt werden.

      Sie können über mehrere Volltextkataloge in jeder Datenbank verfügen, ein Volltextindex darf jedoch nur zu einem einzigen Volltextkatalog gehören. Sie können einen Standard-Volltextkatalog angeben, der verwendet wird, wenn keiner angegeben wurde.

    • Jedem Benutzer, der Volltextindizes erstellt, muss die Berechtigung REFERENCES für den Volltextkatalog, dem der Index angehören soll, gewährt worden sein.
    • SQL Server unterstützt die Erstellung eines einzelnen Volltextindex pro Tabelle, der mehrere Felder enthalten kann.
  • SAP HANA
    • Ähnlich wie bei PostgreSQL wird ein Volltextindex pro Feld unterstützt.

Hinzufügen eines Volltextindex

Führen Sie die folgenden Schritte aus, um einen Volltextindex mit dem Werkzeug Volltextindex hinzufügen zu bestimmten, Textfeldern hinzuzufügen und so das Durchsuchen einer einzelnen Spalte oder mehrerer Spalten in einer Mobile- oder Enterprise-Geodatabase zu ermöglichen:

Hinweis:

Das Werkzeug Volltextindex hinzufügen wird in File-Geodatabases oder einer Enterprise-Geodatabase in Db2 nicht unterstützt.

  1. Öffnen Sie das Geoverarbeitungswerkzeug Volltextindex hinzufügen, indem Sie zur Registerkarte Analyse navigieren und auf Werkzeuge in der Gruppe Geoverarbeitung klicken. Alternativ können Sie im Toolset Data Management Tools in der Toolbox Indexes nach dem Werkzeug suchen.
    Werkzeug "Volltextindex hinzufügen" auf der Registerkarte "Analyse", unter "Werkzeuge" und "Geoverarbeitung"

    Das Dialogfeld des Geoverarbeitungswerkzeugs Volltextindex hinzufügen wird mit den Standardeinstellungen angezeigt.

    Dialogfeld des Geoverarbeitungswerkzeugs "Volltextindex hinzufügen"

  2. Wählen Sie für Eingabetabelle ein einzelnes Dataset aus dem Dropdown-Menü aus, oder wählen Sie über die Schaltfläche "Durchsuchen" Durchsuchen eine Feature-Class oder Tabelle aus, der Sie einen Volltextindex hinzufügen möchten.
    Hinweis:

    Weitere Informationen zum Verwalten von Volltextindizes in ArcGIS.

  3. Wählen Sie für Zu indizierende Felder entweder ein einzelnes Feld oder mehrere Felder aus, um einen Volltextindex darauf anzuwenden.
    Parameter "Zu indizierende Felder"
    Hinweis:

    Einige Datenbanken unterstützen nur ein einziges Feld für die Erstellung eines Volltextindex. Ob die Erstellung eines Volltextindex mit mehreren Feldern unterstützt wird, ist abhängig von der jeweiligen Datenbank.

  4. Optional ändert sich der Name dieses Parameters abhängig von der Quelle der Eingabetabelle.
    • Name des Volltextindexes: Geben Sie einen Namen für den erstellten Index an. Der Parameter Name des Volltextindexes wird standardmäßig angezeigt.
      Name des Volltextindexes
      Hinweis:

      Bei SQL Server-, SQLite- und Mobile-Geodatabases wird der Parameter Name des Volltextindexes ignoriert.

    • Name des Volltextkatalogs: Wählen Sie den Namen des SQL Server-Volltextkatalogs aus, den Sie für den Parameter Name des Volltextkatalogs verwenden möchten. Die Option Name des Volltextkatalogs gilt nur für SQL Server.
      Name des Volltextkatalogs
      Hinweis:

      Wenn der Name des Volltextkatalogs nicht angegeben ist, versucht das Werkzeug, den für die Datenbank definierten Standard-Volltextkatalog zu verwenden, sofern dieser verfügbar ist. Wählen Sie anderenfalls einen Volltextkatalog aus der Dropdown-Liste aus. Die Dropdown-Liste enthält alle Volltextkataloge, auf die der verbundene Benutzer zugreifen kann.

  5. Klicken Sie auf Ausführen, um einem Feld einen Volltextindex hinzuzufügen.

    Hinweis:

    Sie können auch Ausführung planen auswählen, um das Werkzeug zu einem späteren Zeitpunkt mit optionaler Wiederholung auszuführen. Diese Option ist über das Dropdown-Menü neben der Schaltfläche Ausführen verfügbar.

    Planen der Ausführung

    Weitere Informationen über das Planen von Geoverarbeitungswerkzeugen

Sobald das Werkzeug Volltextindex hinzufügen abgeschlossen wurde, wird im Dialogfeld "Eigenschaften" der Tabelle oder Feature-Class auf der Registerkarte Indizes der Name des Volltextindexes angezeigt.

Zeitpunkt für die Aktualisierung eines Volltextindex

Volltextindizes werden von der RDBMS verwaltet und sollten regelmäßig aktualisiert werden, um Datenänderungen zu übernehmen und auf diese Weise sicherzustellen, dass bei den Suchläufen genaue Ergebnisse zurückgegeben werden. Die Häufigkeit der Aktualisierung eines Volltextindex hängt von der Anzahl der vorgenommenen Datenänderungen sowie der Datenbankkonfiguration ab. Die Verwaltung, Aktualisierung und Neuerstellung von Volltextindizes in einer Enterprise-Geodatabase erfolgt manuell auf DBMS-Ebene mithilfe von DBMS-Werkzeugen.

Bei Mobile-Geodatabases ermöglicht die Erweiterung SQLite FTS5 (Volltextsuche) effiziente Volltextsuchen, da eine virtuelle Tabelle erstellt wird, die automatisch aktualisiert wird, wenn die zugrunde liegenden Daten geändert werden. Dadurch müssen Indizes nicht mehr manuell neu erstellt werden.

Verwandte Themen