Search the FirstSpirit Knowledge Base
Hallo,
ich habe eben versucht mit dem neuen Modul (1.5) für enterprise:one (4.6) unseren PushApi-Job zu akualisieren.
Der Job und die notwendigen Jars haben wir ein Modul gepackt, da auch noch nach Exalead Cloudview (5.1) Daten gepusht werden und sich sonst die unterschiedlichen Jars behindern. In dem Modul habe ich die Jars (mit denen aus dem neuen Modul enterprisesearch-fsm-1.5.37.fsm) ausgetauscht.
Nun bekomme ich beim Ausführen einen Fehler:
java.lang.NoSuchMethodError: de.espirit.ps.exalead.pushapi.PushAPIDocumentValues.setAdditionalValue(Ljava/lang/String;Ljava/lang/Object;)V
(siehe Anhang)
Der Fehler wird in nachfolgender zeile geworfen:
doc.setAdditionalValue("inter_name", fpName);
das "doc" kommt aus de.espirit.ps.exalead.pushapi.PushAPIDocumentValues
Bisher funktionierte das ohne Probleme.
Als Test habe ich unser Modul (sowohl für enterprise:one (4.6) als auch Exalead Cloudview (5.1)) deinstalliert und das enterprisesearch-fsm-1.5.37.fsm installiert. Nun habe ich als Script im JavaClient folgende Zeilen ausführen wollen:
PushAPIDocumentValues doc = new PushAPIDocumentValues();
String text = "das ist ein einfacher text";
doc.setContent(text.getBytes());
doc.setAdditionalValue("inter_bereich", "menue");
Auch hier kommt der Fehler bei doc.setAdditionalValue. (siehe Anhang)
Hat sich an dem pushen der Zusätzlichen Werte etwas geändert?
FS-Version: 4.2.454.47473
Grüße Andreas
Hallo Herr Vogt,
welche Version des Exalead Moduls hatten sie denn davor im Einsatz?
Viele Grüße
Christoph Feddersen
Hallo Andreas,
kann es sein, dass ihr da mal eine Eigenentwicklung der Klasse PushAPIDocumentValues verwendet habt? Denn die Klasse PushAPIDocumentValues aus unserem Modul besaß noch nie eine Methode namens setAdditionalValue.
Viele Grüße,
Donato
Hallo Donato,
das pushen haben wir entwickelt (bzw. lassen).
Ich hab mal nachgesehen. In der Entwicklungsumgebung habe ich jede Menge weiterer Klassen, die ich mit geliefert bekommen habe. Warum? Keine Ahnung mehr.
Die zusätzlichen Klassen werden aber NICHT in unser Modul mit aufgenommen. Nur die o.g. jars.
de.espirit.ps.exalead.pushapi
PushAPIDocumentValues
PushAPIHelper
RecursiveFileLister
de.espirit.ps.exalead.admin
LibraryApp
de.espirit.ps.util
ProjectProperties
Util
org.jetbrains.annotations
NotNull
Nullable
Das Modul besteht aus den Jars und einem eigenen Jar. Das enthält nur 3 Klassen für die unterschiedlichen projekte. Die Klassen sind Executable.
Wie kann ich mit der neuen Version zusätzliche Felder übergeben?
Grüße
Andreas
Hallo Donato,
hab nun mal alles "alte" gelöscht. da wird nun wirklich das setAdditionalValue nicht gefunden.
Beim Pushen für die 5.1 verwende ich:
HashMap metaAttributes = new HashMap();
metaAttributes.put("gaf_text", gafText);
...
doc.setMetaAttributes(metaAttributes);
Zumindest existiert die methode nun auch in dem neues Modul.
Ich vermute mal dass wird schon funktionieren (komme aber erst nächste Woche dazu)
Grüße
Andreas
Das ist richtig, die setMetaAttributes-Methoden sind in beiden Versionen des Moduls enthalten. Wenn das Setzen zusätzlicher Werte alles an Funktionalität war, was die Erweiterung des Moduls zusätzlich zur Verfügung gestellt hat, dann sollte das über die MetaAttribute abzudecken sein.
Viele Grüße,
Donato