Schlagwörter: Elasticsearch
-
AutorBeiträge
-
-
9. April 2024 um 11:44 Uhr - Views: 254 #29739
Hallo zusammen,
wir testen gerade intensiv Otobo 10.1 (Docker) und sind dabei auf folgendes Problem gestoßen.
Wir haben ein neues Dynamisches Feld erstellt, welches bei vielen Tickets befüllt werden wird. Leider kann man via Eleasticsearch nicht nach dem Inhalt dieses Felds suchen.
Ich habe bereits die Settings „Elasticsearch::TicketSearchFields“ und „Elasticsearch::TicketStoreFields“ um das „DynamicField“ erweitert, aber auch damit wird nichts gefunden.
Bei meiner Recherche im Internet bin ich leider auch nicht fündig geworden. Daher nun die Frage, ob und wie ich die Elasticsearch um das DynamicField erweitern kann?
Danke und Gruß
Sebastian
-
11. April 2024 um 17:32 Uhr #30069
Hallo,
ich hätte schon erwartet, dass die Elasticsearch::TicketSearchFields und Elasticsearch::TicketStoreFields funktionieren, denn da gibt es out of the box ja bereits die Bereiche für Dynamic Fields.
Wie hast du die denn da mit aufgenommen?Ggf. mit „DynamicField_“ vor dem Feldnamen probieren? Das glaube ich zwar nicht, aber ggf. ist es das?
Ansonsten: wie kommt der DF-Wert an das Ticket? Bevor oder nachdem der Elasticsearch-Suchindex aktualisiert wird? Hast du über die otobo.Console.pl mal den Suchindex neu aufgebaut nachträglich und nochmal gesucht?
Viele Grüße
Stefan -
12. April 2024 um 8:21 Uhr #30075
Hi Stefan,
in dem konkreten Fall habe ich folgendes getestet.
- Elasticsearch::TicketSearchFields und Elasticsearch::TicketStoreFields erweitert (siehe Screenshot – das erstellte DF heißt „JiraRelatedIssueId“)
- neues Ticket erstellt.
- Manuell das DF im Ticket gefüllt.
- In den Otobo-web Container rein und folgendes ausgeführt: bin/otobo.Console.pl Maint::Elasticsearch::Migration (soweit ich gelesen habe, erneuert das den Elasticsearch Index).
- Danach gesucht, was ich in das DF eingetragen habe -> kein Treffer
Screenshots:
Danach habe ich es dann mal mit „DynamicField_“ vor dem Eintrag probiert und dann noch mal den Console Befehl ausgeführt.
Aktuell erhalte ich dann aber jede Menge solcher Einträge:
se of uninitialized value in string eq at /opt/otobo/Kernel/GenericInterface/Invoker/Elasticsearch/TicketManagement.pm line 417.
Use of uninitialized value in string eq at /opt/otobo/Kernel/GenericInterface/Invoker/Elasticsearch/TicketManagement.pm line 417.
Use of uninitialized value in string eq at /opt/otobo/Kernel/GenericInterface/Invoker/Elasticsearch/TicketManagement.pm line 417.
Use of uninitialized value in string eq at /opt/otobo/Kernel/GenericInterface/Invoker/Elasticsearch/TicketManagement.pm line 417.
Use of uninitialized value in string eq at /opt/otobo/Kernel/GenericInterface/Invoker/Elasticsearch/TicketManagement.pm line 417.
VG
Sebastian
-
12. April 2024 um 15:54 Uhr #30076
Hallo,
probier mal bitte aus TicketStoreFields wieder rauszunehmen, dass es nur in TicketSearchFields drin ist.
Und dann nochmal die Elasticsearch::Migration durchzuführen.
Zur Anzeige kannst du es auch mal unter Elasticsearch::QuickSearchShow###Ticket auflisten, was da auftaucht.Das muss erstmal funktionieren.
Falls das dann geht, können wir noch das DynamicField Update mit aufnehmen, einmal im Elasticsearch Webservice > Invoker > TicketManagement > Event Triggers und einmal in der Systemkonfiguration im Update-Event für den Webservice. Das aktualisiert dir dann aber nur beim Updaten des DFs den Index. Aber dazu muss erstmal der obere Teil funktionieren.
VG
Stefan -
15. April 2024 um 11:31 Uhr #30078
Hi Stefan,
den ersten Teil Deiner Antwort habe ich umgesetzt. Aus TicketStoreFields entfernt, in TicketSearchFields ist es weiterhin drin. Danach habe ich die „Migration“ ausgeführt. Weiterhin habe ich QuickSearch so geändert, dass es korrekt den Inhalt des DF im Suchfenster anzeigt (wenn ich z.B. nach dem Betreff des Tickets suche).
Nach dem Inhalt des DF kann ich aber leider weiterhin nicht suchen.
Hinweis, der Inhalt des DF war bisher „TTS-TEST“. Ich habe das nun mal auf „TTS45678“ geändert und siehe da, es taucht in der Suche auf. Anscheinend ist der Bindestrich das Problem. Kann man das irgendwie abfangen / ändern?
VG
Sebastian
-
22. April 2024 um 10:21 Uhr #30090
Kann hier keiner helfen? Ich finde es ein wenig seltsam, dass man über eine Suche nicht nach Werten mit einem Bindestrich suchen kann.
-
22. April 2024 um 16:51 Uhr #30097
Hallo Sebastian,
d.h. ja, er findet nun auf jeden Fall die Werte der Dynamischen Felder am Ticket :-)
Der Bindestrich hat hier in Elasticsearch eine Sonderfunktion, ähnlich wie in der Google-Suche. Bspw. mit „+“ muss etwas dabei sein, mit „-“ darf etwas nicht dabei sein, d.h. das wird explizit aus der Suche ausgeschlossen.
Wenn du bspw. mit Anführungszeichen suchst, suchst du explizit nach den Werten darin, also bspw. auch TTS-Test, wenn du nach „TTS-Test“ suchst.
Ob du das auch irgendwie umkonfigurieren kannst, weiß ich ehrlich gesagt nicht. Eine Einstellung in der Systemkonfiguration habe ich nicht gefunden. Den Elasticsearch-Container müsste man sich mal anschauen.
Viele Grüße
Stefan
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.