- changed status to open
Kleine Anpassung im Elastic Search Model
Durch eine minimale Anpassung um Elastic Search Model unter /modules/searchbar/elasticSearch/model.js könnten die Suchergebnisse mit Quelle angezeigt werden.
Die Quelle (Variable type) würde dann falls sie im Elastic Search Backend angegeben ist übernommen werden. Falls nicht wird die Quelle aus der config.json genommen. Das gleiche gilt für das Glyphicon.
Die Änderung folgt jetzt im Detail:
Ursprünglicher Code der Funktion createHit:
createHit: function (result, hitMap, hitType, hitGlyphicon, triggerEvent) {
let hit = {};
Object.keys(hitMap).forEach(key => {
hit[key] = this.findAttributeByPath(result, hitMap[key]);
});
hit.type = hitType;
hit.glyphicon = hitGlyphicon;
if (Object.keys(triggerEvent).length > 0) {
hit = Object.assign(hit, {triggerEvent: triggerEvent});
}
return hit;
},
Neuer Vorschlag:
createHit: function (result, hitMap, hitType, hitGlyphicon, triggerEvent) {
let hit = {};
hit.type = hitType;
hit.glyphicon = hitGlyphicon;
Object.keys(hitMap).forEach(key => {
hit[key] = this.findAttributeByPath(result, hitMap[key]);
});
if (Object.keys(triggerEvent).length > 0) {
hit = Object.assign(hit, {triggerEvent: triggerEvent});
}
return hit;
},
Der einzige Unterschied wäre das nun type und glyphicon vom Backend überschrieben werden können, da sie 5 Zeilen früher implementiert sind. Das der Scope der Veränderung minimal ist sind keine Auswirkungen auf andere Module zu erwarten. Diese Verbesserung würde, der Elastic Search Instanz in Frankfurt sowie bei uns in Nürnberg helfen.
Folgend noch Bilder mit der Verbesserung im Vorher-Nachher-Vergleich.
Vorher:
Nachher:
Comments (11)
-
-
- changed status to resolved
Sehr geehrter Herr Sauer,
haben Sie vielen Dank für Ihren Beitrag. Die von Ihnen gewünschten Änderungen wurden mit demPR 3281 umgesetzt.
Die Anpassungen werden mit der nächsten Veröffentlichung verfügbar sein.
Viele Grüße
-
wir haben diesen Bug wie folgt gelöst:
createRecommendedList: function (responseData) { const triggerEvent = this.get("triggerEvent"), hitMap = this.get("hitMap"), hitType = i18next.t(this.get("hitType")), hitGlyphicon = this.get("hitGlyphicon"); if (responseData.length > 0) { responseData.forEach(result => { //aconst hit = this.createHit(result, hitMap, hitType, hitGlyphicon, triggerEvent); //alt const hit = this.createHit(result, hitMap, result.type, hitGlyphicon, triggerEvent); //fix Radio.trigger("Searchbar", "pushHits", "hitList", hit); }); } else { Radio.trigger("Searchbar", "removeHits", "hitList", {type: hitType}); } Radio.trigger("Searchbar", "createRecommendedList", "elasticSearch"); },
-
Die Methode
createHit
() wird nun mit dem hitType des einzelnen Suchergebnis aufgerufen statt mit einem pauschalen HitType welcher für die gesamte Liste bestimmt war. -
Hallo Patrick,
vielen Dank für deine Nachricht.
Dieses Issue wurde bereitsresolved
. Und wird von unserer Seite, soweit keine weiteren Fehler/Bugs auftreten, nicht weiter bearbeitet.
Viele Grüße
Melanie Klamp
-
reporter Hallo Patrick,
vielen Dank. Können Sie mir mehr Informationen zukommen lassen, mit meinem Vorschlag ließen sich ja die Suchergebnis Icons, ja nach Elastic Search Ergebnis anzeigen (Schwimmbäder, Polizei usw). Wie muss dass im Masterportal konfiguriert werden bzw. wie sollen die Elastic Search Features konfiguriert sein?
Mit freundlichen Grüßen
Dietmar Sauer
-
reporter - changed status to open
Bitte um mehr Erklärung siehe letzten Beitrag
-
Guten Tag Herr Sauer,
Guten Tag Patrick,
es sieht für mich so aus, als ob hier verschiedene Anfragen zusammenlaufen.Es sollte nun eigentlich möglich sein, die entsprechenden Icons aus dem Backend zu übergeben.
Liegt derzeit noch ein weiterer Bug vor, durch den der
hittype
nicht korrekt zugeordnet wird?
Und falls ja: besteht hierdurch Handlungsbedarf unsererseits? -
reporter Hallo mkl,
zu einem Bug, kann ich an dieser Stelle nichts sagen, mein Vorschlag damals war ja als Erweiterung gedacht, da eigene Icons thematisch Zugeordnet aus dem Elastic Backend damals nicht gingen… Wenn das jetzt geht ist das prima, allerdings wäre es schön zu Wissen wie hierfür Elastic konfiguriert werden muss. Als Beispiel nochmal wir wir das in der alten Masterportal Version mit leichter Code Erweiterung gemacht haben: GeoPortal Nürnberg (nuernberg.de)
-
Hallo Herr Sauer,
Ihren Vorschlag und Ihre Änderungen haben wir übernommen.
- Eine eigene thematische Zuordnung von Icons aus dem Elastic Backend ist nun möglich.
Für die Konkreten Einstellungen des Elastic Search Backends, können wir an dieser Steller leider keine Hilfestellung liefern.
Beantwortet das Ihre Frage?Beste Grüße
Melanie Klamp -
- changed status to resolved
- Log in to comment