DMS Datenraum

Hotline Blog: Office Manager DMS

Dokumentenmanagement und digitale Archivierung

Jun
21
2022

Volltextsuche nach Teilwörtern

Kategorie: Suchen   |  3 Kommentare
Support-Recherche: Volltextsuche


Ich suche Dokumente, in denen das Wort ‚Rechnung‘ vorkommt. Hierbei möchte ich auch ‚Sammelrechnungen‘ und ‚Rechnungskorrekturen‘ finden, geht das?

Hier hilft der Stern * als Jokerzeichen bzw. Platzhalter. Ein Stern am Ende des Suchbegriffes ist ok, am Anfang aber problematisch.

Hintergrundinformation

Für die datenbankgestützte Volltextsuche wird ein Index der einzelnen Wörter angelegt. Im Prinzip ist dies eine Tabelle, in der alle Wörter alphanumerisch sortiert gelistet sind. Stark vereinfacht etwa so:

Wort enthalten in
12345 Berechnung.xlsx
rechnung Computerrechnung.pdf
rechnungskorrektur Gutschrift Nr 1643.pdf
sammelrechnung Zusammenfassung.pdf
suchbegriff Dokument.docx
Meine Datei.txt

In einem großen Dokumentenarchiv hat so eine Indextabelle schnell mehrere Millionen Einträge. Die Suche funktioniert trotzdem schnell, weil die Tabelle alphanumerisch sortiert ist.

Wenn Sie jetzt aber mit einem Joker am Wortanfang suchen, hilft die Sortierung nicht mehr. Für eine Suche nach *rechnung müssten alle Wörter in der Indextabelle verglichen werden. Da dies sehr lange dauert und viel Ressourcen verbraucht, ist so eine Suche in den meisten Datenbanksystemen nicht möglich.

Möglichkeiten in Office Manager DMS

Unsere Archivierungssoftware kann unterschiedliche Datenbanksysteme nutzen. Die Volltextsuche unterscheidet sich dabei im Detail.

SQLite und MS SQL mit Serversuche

SQLite-Archivdatenbanken erkennen Sie an der Dateiendung „.omsl“, SQL-Serverdatenbanken an „.omcs“. Beispiele für die Jokersuche:

  • rechnung*: sucht nach Wörtern, die mit „rechnung“ beginnen.
  • *rechnung: ist nicht möglich, weil ein Joker nur am Wortende zulässig ist.

Andere Datenbankformate

MySQl, MS SQL ohne Serversuche und die Access-Archive nutzen einfache Indextabellen für die Zuordnung von Wort zu Dokument. Dies ist weniger leistungsfähig, bietet bei der Jokersuche aber Vorteile:

  • rechnung*: sucht nach Wörtern, die mit „rechnung“ beginnen. Der Stern am Ende muss nicht angegeben werden.
  • rechnung*r: findet zum Beispiel „Rechnungsnummer“ und „Rechnungnr“.
  • *rechnung: ist langsam, findet aber auch „Sammelrechnung“ und andere Wörter, die mit dem gesuchten Begriff enden.
  • rechn?ng: das Fragezeichen ist ein Platzhalter für ein einzelnes Zeichen.



3 Kommentare

  • Dieter Eckstein sagt:

    Ich habe eine Lösung des Problemes auch für SQLite gefunden:
    Zunächst muss man wissen: Die Suche mit Jockerzeichen vor dem Suchwort funktioniert in alphanumerischen Datenbankfeldern wie „Name“ oder „Project“.

    Office Manager übernimmt im Feld „contenttext“ den erkannten Text des Dokuments für die Indexierung.

    Im Layout zur Dokumentensuche füge ich nun ein weiteres Suchfeld ein, das mit dem Feld „contenttext“ verbunden ist.

    Nun kann ich in allen Dokumenten auch mit Jockerzeichen * und ? vor, im und nach dem Suchwort suchen. Ich muss allerdings immer die Sterne davor und dahinter eintragen:-)
    Auch geht jetzt die Suche nach „*M??er*“ für Meyer, Meier, Mayer.
    Die Lösung ist verständlicherweise ein Hilfsmittel für den Notfall oder für die Suche in Projekten mit wenigen und nicht so umfangreichen Dokumenten.
    Sie funktioniert aber auch über die gesamte Datenbank mit entsprechender Laufzeit.

    • sbkrekeler sagt:

      Hallo Herr Eckstein, vielen Dank für diese Lösung. Man sieht, dass Sie sich ausführlich damit beschäftigt haben.
      Office Manager sucht dann direkt im mehrzeiligen Datenfeld „contenttext“. Dies funktioniert bei kleinen Archiven auch sehr schnell. Mit steigender Größe wird es langsamer, weil kein Index genutzt werden kann. Es ist aber auch dann noch schneller als manuell viele verschiedene Suchbegriffe auszuprobieren.
      Hier noch ein Link zur Hilfe „Layoutdesigner“, mit dem das Suchfeld für contenttext plaziert wird.

      • Dieter Eckstein sagt:

        Hallo Herr Krekeler,
        vielen Dank für Ihre Antwort. Wie gesagt, es geht um eine „Notfallmaßnahme“, die einzusetzen ist, wenn das erwartete Dokument partout nicht zu finden ist. Es sollte also nicht über das gesamte Archiv eingesetzt werden sondern nur bei der Suche in Projekten.
        Aber eins sollte noch ergänzt werden:
        Die Suche nach Umlauten ist leider case sensitive: Also „Ü“ ist nicht gleich „ü“ („Überraschung“ „überraschung“).

Antwort zu sbkrekeler Antworten abbrechen

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Sie können folgende HTML-Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>