Paperless-NGX / Whoosh Sheet Cheat

Nachdem in nun mehr als 3000 Dokumente auf mein Paperless-NGX migriert habe, kommen die ersten Erkenntnisse im Suchalgorithmus. Diese habe ich mal zusammengefasst und hier als PDF zum Downloaden bereitgestellt:

Normalerweise nutze ich die erweiterte Suche in den Dokumenten, da sich damit sehr präzise steuern läßt, was ich als Ergebnis erhalte.

Suchfelder

Beim Studieren der Paperless-NGX oder Python Whoosh Anleitung habe ich mir folgende Suchfelder notiert, mit welchen ich am meisten zu meinen Ergebnissen komme.

FeldBeispiel Suchbegriff
Titel(title:*konzept*)
Dokumenttyp(type:satzung)
Tags(tag:ipv6)
Korrespondent(correspondent:“RIPE NCC“)
Ausgestellt am(created:[2021 to 2022])
(created:[last tuesday to today])
Hinzugefügt am(added:[-2year to now])
(added:[-1month to now])
Inhalt(content:adressplan)
(content:Rechnung)
Suchfelder

Datumsfelder

Bei den Datumsfelder merkt man ganz klar, dass hier keine Programmierer mit einem Metrischen-System im Kopf tippen. 😉 Es führt in weiten Teilen für Zeiträume kein Weg an der Nutzung des Imperialen-Systems vorbei… seufz. Allerdings sind auch genügend metrische Optionen vorhanden, so dass man sich nicht den Hals bricht.

Zeitraum / DatumBeispiel Suchbegriff
genau 12.09.200520050912
genau 12.09.20052005 sept 12th
genau 23.06.1978june 23 1978
im Monat Juli 1985july 1985
an einem 12 Septembersep 12
Heutetoday
Gesternyesterday
Morgentomorrow
Jetztnow
nächsten Freitagnext friday
letzten Dienstaglast tuesday
um 5:00 Uhr5am
um 10:25:54 Uhr10:25:54
um 23:12 Uhr23:12
um 20:00 Uhr8 PM
um 4:46 Uhr am 31.10.20104:46 am oct 31 2010
zwischen letzten Dienstag und Heutelast tuesday to today
zwischen Heute und nächstem Freitagtoday to next friday
zwischen Januar 2005 und Februar 2008jan 2005 to feb 2008
vor einer Woche und Heute-1 week to now
zwischen jetzt und in 2 Stundennow to +2h
vor einem Jahre und 6 Monaten und in zwei Jahren und 23 Tagen-1y6mo to +2 yrs 23d
Datumsfelder

Boolesche Operatoren

Hier spielt Paperless-NGX mit Whoosh seine starke Seite aus, auch wenn das bei komplexen und verketteten Suchanfragen schon einmal dazu führt, dass Paperless-NGX gerne 30 Sekunden oder länger braucht.

Boolescher OperatorErläuterungBeispiel Suchbegriff
ANDbeide Suchbegriffe müssen vorkommen(content:IPv6) AND (content:IPv4)
OReiner der beiden Suchbegriffe müssen vorkommen(content:Rechnung) OR (content:Abrechnung)
ANDMAYBESuchbegriff1 muss enthalten sein und möglicherweise Suchbegriff2(content:Central) ANDMAYBE (content:Leistungsabrechnung)
NOTSuchbgeriff1 soll enthalten sein, nicht jedoch Suchbegriff2(content:IPv6) NOT (content:RIPE)
ANDNOTSuchbgeriff1 soll enthalten sein und nicht Suchbegriff2(content:IPv6) ANDNOT (title:konzept)
Boolesche Operatoren

Platzhalter/Fuzzy

Auch eine unscharfe Suche oder Suchfelder mit Platzhaltern funktioniert ganz gut, allerdings wirkt sich ein zu unscharfer Begriff (fuzzy search) natürlich beträchtlich auf die Dauer des Suchlaufs aus(!!!). Aber gerade wenn die Erinnerung nur ein „das wurde doch so oder so ähnlich geschrieben“ ergibt, ist es das Mittel der Wahl.

Platzhalter/FuzzyErläuterungBeispiel Suchbegriff
~Suchbegriff unscharf fassen mittels ~(content:adresse~)
?Platzhalterausdruck mit ? für ein einzelnes Zeichen(content:te?t)
*Platzhalterausdruck mit * für eine beliebige Anzahl von Zeichen(content:test*)
Platzhalter/Fuzzy

Verstärker/Abdämpfer

Diese Funktion hat zwar keinen Einfluss auf die Menge der Suchergebnisse, jedoch auf die Reihenfolge, in welcher die Ergebnisse aufgelistet werden. Gerade bei einer hohen Anzahl von Treffern ist diese Verstärkung/Abdämpfung sehr nützlich.

Verstärker/AbdämpferErläuterungBeispiel Suchbegriff
^2doppelt so wichtig(content:ninja^2)
^1normale/einfache Gewichtung (default)(content:cowboy)
^0.5halb so wichtig(content:bär^0.5)
Verstärker/Abdämpfer Elemente

Komplexe Suchen

Wenn bei der Suche nach einem Dokument der gewählte Suchbegriff nicht zu einem klaren Ergebnis oder halt zu einer zu großen Anzahl von Ergebnissen führt, so lassen sich die vorher genannten Suchbegriffe gerne beliebig kombinieren. Doch Vorsicht, eine zu große Anzahl vom Platzhaltern oder Fuzzysuchen konsumieren gut gerne schon einmal Minuten, bevor dann eine mehr oder minder kurze Liste von Ergebnissen heraus purzelt. 😉

Komplexe SucheBeispiel Suchbegriff
Im Inhalt soll „Rechnung“ vorkommen und das soll vor einem Monat bis Heute hinzugefügt worden sein(content:Rechnung) AND (added:[-1month to now])
Im Inhalt soll „DNS“ vorkommen und der Korrespondent ist „RIPE NCC“ und es soll vor 6 Monaten bis jetzt hinzugefügt worden sein(content:DNS) AND (correspondent:“RIPE NCC“) AND (added:[-6month to now])
Im Inhalt soll „IPv6“ vorkommen und der Korespondent ist „RIPE NCC“ und es soll vor 3 Monaten bis jetzt hinzugefügt worden sein(content:IPv6) AND (correspondent:“RIPE NCC“) AND (created:[-3month to now])
Im Inhalt soll „Zone“ vorkommen und es soll im Jahr 2021 bis jetzt erzeugt worden sein und hinzugefügt worden sein der Korrespondent ist „RIPE NCC“(content:Zone) AND (created:[2021 to now]) AND (correspondent:“RIPE NCC“)
Komplexe Suche

Das könnte dich auch interessieren …

2 Antworten

  1. Michael sagt:

    Hallo, danoe für Sharen, Du entwickelst Du zu meinem Guru.

    High Five

    🙂

    Viele Grüße

    Michael

Schreibe einen Kommentar

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