Skip to main content

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 das Durchsuchen großer Textmengen nach bestimmten Wörtern, Formulierungen oder Ausdrücken.

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 schnelleres Abrufen relevanter Textdaten.

Informationen zu einem Parallelvergleich von Attribut-, Volltext- und räumlichen finden Indizes Sie unter Indizes in der Geodatabase.

Zweck und Vorteile von Volltextindizes

Der Hauptzweck von Volltextindizes besteht darin, die Geschwindigkeit und Genauigkeit beim Auffinden von Textdaten zu verbessern. Zu den Vorteilen gehören:

  • 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: Die Indexierung der Textdaten mit Volltextindizes kann die Such-Performance erheblich verbessern, insbesondere bei großen Datasets, bei denen Textsuche ressourcenintensiv sind.

  • Unterstützung mehrerer Felder: In SQL Server kann ein Volltextindex mehrere Felder aus einer Tabelle abdecken und so umfassende Suchfunktionen über Spalten hinweg ermöglichen.

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: Suchen Sie nach einem Ausdruck indem Sie Wörter in doppelte Anführungszeichen setzen, zum Beispiel "Evakuierungsrouten".

Beispiele

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. Auf diese Weise 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".

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

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"

Achtung:

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.

    • Bei Bestätigung synchronisieren ist ein optionaler Parameter, der nur verfügbar ist, wenn das Werkzeug Volltextindex hinzufügen in einer Tabelle oder Feature-Class in einer Enterprise-Geodatabase in Oracle verwendet wird. Mit der Option Bei Bestätigung synchronisieren können Sie angeben, ob ein Volltextindex aktualisiert wird, wenn Änderungen gespeichert werden oder ein ArcGIS-Synchronisierungsvorgang durchgeführt wird.

      Parameter "Bei Bestätigung synchronisieren" im Werkzeug "Volltextindex hinzufügen"

  • 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 -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.

    • SQLServer 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.

Volltextindex hinzufügen

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 Indizes in der Toolbox Data Management nach dem Werkzeug suchen.

    Werkzeug "Volltextindex hinzufügen" auf der Registerkarte "Analyse", unter "Werkzeuge" im Bereich "Geoverarbeitung"

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

    Dialogfeld für Geoverarbeitungswerkzeug "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 zum 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, öffnen Sie das Dialogfeld "Eigenschaften" der Tabelle oder Feature-Class. Auf der Registerkarte Indizes werden im Abschnitt Attributindex die vorhandenen Indizes für dieses Dataset angezeigt. Wählen Sie den neu erstellten Index aus, und der Parameter Volltext unten zeigt Ja an, um anzuzeigen, dass es sich um einen Volltextindex handelt.

Registerkarte "Indizes" im Feature-Class-Dialogfeld "Eigenschaften"

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.