die Volltextsuche nach beliebigen Strings funktioniert nicht weil sie in OTRS über einen Index erfolgt.
Das entscheidende Argument für die Index-Suche ist vermutlich die Geschwindigkeit.
Stimmt das?
Eine Volltextsuche ohne Index sollte unter folgenden Voraussetzungen möglich sein:
- Die Anhänge sind im Filesystem oder die DB ist passend optimiert.
- Die DB hat pro 100.000 Tickets mindestens 4 GB RAM zur Verfügung.
- Der Server hat mindestens 8 Kerne handelsüblicher CPUs.
- Bei der Datenbank ist die parallele Suche aktiviert.
- Die Daten der Tabelle article_data_mime (Spalte a_body) sind in Kleinbuchstaben in einer weiteren DB-Tabelle/-Spalte gespeichert.
Getestet habe ich es mit 200.000 Tickets ohne spezielle Kleinbuchstaben-DB-Tabelle mit Postgres und kam auf ca. 6 Sekunden Suchzeit bei der Suche über alle Tickets.
Die Suche wird natürlich schneller wenn der Agent nur für einen Teil der Tickets leseberechtigt ist.
Wenn die Antwortzeit bis zu 10 Sekunden betragen darf wäre damit eine echte Volltextsuche bis zu 500.000 Tickets möglich.
Ist diese Abschätzung plausibel?
Ein zusätzlicher Bonus bei so einer indexlosen Suche:
Da in SQL bei der Suche Operatoren zulässig sind könnte man damit auch Tickets suchen welche den String1 aber nicht den String2 enthalten.
Beispiel:
Code: Select all
... LIKE '%notepad%' AND NOT ... LIKE '%notepad: nein%'
Albrecht