Zum Hauptinhalt gehen

Exalead:cloudview Anzeige von Merkmalen in den Suchtreffern

Kommentare

10 Kommentare

  • Zendesk API User
    Author: marro - 1/14/2013 11:35

    Hallo Andreas,

    ich habe versucht, das mal hier nachzustellen, allerdings mit unserem PushSkript. Ihr verwendet ja ein eigenes, richtig? Unser PushSkript nimmt eine automatische Splittung der Metadaten vor und fügt jeden einzelnen Wert unter demselben Namen als Metaattribut dem Dokument hinzu.

    Wird bspw. der Wert "test1,test2,test3" als Metaattribut für ein Dokument gesetzt und mit unserem Skript gepusht, erhält man in der Verfeinerung automatisch die drei Punkte "test1", "test2" und "test3". Bei der Ausgabe des Feldes werden die drei Werte zusammen ausgegeben, jeweils getrennt durch ein Leerzeichen (siehe Screenshot):

    Auf Exalead-Seite wurde nichts speziell konfiguriert (kein Splitting oder ähnliches).

    Nun wäre es interessant zu wissen, wie euer PushSkript die einzelnen Produkte pusht. Werden die Produkte zu einem Dokument einzeln, jedoch alle unter demselben Namen hinzugefügt, dann sollte in der Ausgabe des Feldes wie oben beschrieben eine durch Leerzeichen getrennte Liste ausgegeben werden.

    Viele Grüße

    Donato

    0
  • Zendesk API User
    Author: aVogt - 1/14/2013 13:51

    Hallo Donato,

    Ja, wir verwenden ein eigenes Script.

    > Nun wäre es interessant zu wissen, wie euer PushSkript die einzelnen Produkte pusht.

     

    ...

    PushAPIDocumentValues doc = new PushAPIDocumentValues();

    HashMap metaAttributes = new HashMap();

    metaAttributes.put("gaf_produkte", gafProdukte); // gafProdukte ist eine Kommaseparierte Aufzählung

    ...

    doc.setMetaAttributes(metaAttributes);

    ...

    pushApiGaf.sendDocument(doc);

    Die Produkte werden also als Metaattribut übergeben. Somit muss ich m.E. eine Liste übergeben.

    Wenn ich für jedes doc das Produkt mit:

    metaAttributes.put("gaf_produkte", [NUR EIN PRODUKT]);

    setzte und das für jedes Produkt wiederhole, wird ja nur das letzte genommen.

    > Auf Exalead-Seite wurde nichts speziell konfiguriert (kein Splitting oder ähnliches).

    Bei uns eigentlich auch nicht (so weit ich das überblicke)

    " Einstellungen habe ich für das merkmal gefunden (siehe Anlagen)

    Grüße

    Andreas

    0
  • Zendesk API User
    Author: marro - 1/14/2013 14:04

    Hmm, das ist seltsam. Genauso wie Du es gerade geschrieben hast, bin ich in meinem Test auch vorgegangen:

    HashMap map = new HashMap();

    map.put("md_text", "test1,test2,test3");

    doc.setMetaAttributes(map);

    Und dabei habe ich die Ausgabe aus dem Screenshot erhalten.

    Wie sieht bei euch denn die Ergebnisseite von Exalead aus? Wird dort ebenfals nur ein Produkt ausgegeben oder sieht man dort beide Produkte unterm Treffer?

    Grüße

    Donato

    0
  • Zendesk API User
    Author: aVogt - 1/14/2013 14:16

    In Exalead wird alles so ausgegeben wie gewünscht (also alle Produkte zu einem Treffer).

    Bei der Ausgabe der Suchtreffer gebe ich das merkmal Produkte wie folgt aus:

    <search:hits_field key="gaf_produkte"><b>Produkt(e):</b><%=value%> <br />
    </search:hits_field>

    Da wird mir immer nur das letzte aus der Liste (das per Metaattribut übergeben wurde) angezeigt.

    Ich kann aber direkt nach nach einem Produkt abfragen:

    z.B.

    <search:is_in_category fullPath="Top/gaf_produkte/0225">0225</search:is_in_category>

    Das liefert für alle Produkte des Treffers true

    Grüße

    Andreas

    0
  • Zendesk API User
    Author: marro - 1/14/2013 14:36

    Hier mal ein Screenshot meiner Suchergebnisseite, auf der ich das Attribut ebenfalls über

    <search:hits_field key="md_text"><br/><b>md_text: </b><%= value %></search:hits_field>

    ausgebe:

    Wenn das Pushen und die Ausgabe bei uns beiden identisch ist, dann kann es eigentlich nur noch eine Exalead-Einstellung sein. Kannst Du noch mal unter Process -> Analysis -> Document Processors nachschauen, ob da nicht vielleicht doch irgendein Parsing für das Attribut eingestellt ist?

    Gruß

    Donato

    0
  • Zendesk API User
    Author: aVogt - 1/14/2013 14:51

    > Wenn das Pushen und die Ausgabe bei uns beiden identisch ist, dann kann es eigentlich nur noch eine Exalead-Einstellung sein.

    Sehe ich eigentlich fast auch so. Allerdings sollten sich doch die Exalead-Einstellungen doch auch auf die Exalead-Suche auswirken, oder?

    >Du noch mal unter Process -> Analysis -> Document Processors

    Ich habe nichts direkt für das Merkmal gefunden.

    Unter "csv_encoder - Multi-Context Encoder" ist es aufgelistet. Process Unmapped Contexts ist deaktiviert

    0
  • Zendesk API User
    Author: marro - 1/14/2013 15:14

    Stimmt, da hast Du natürlich Recht. Eine Exalead-Einstellung sollte sich dann auch auf die Darstellung auf der Exalead-Seite auswirken.

    Bei mir ist das Metadatum nicht unter csv_encoder - Multi-Context Encoder aufgelistet. Ich habe es aber mal hinzugefügt und es ändert nichts an der Ausgabe.

    Kannst Du mal schauen, was ausgegeben wird, wenn Du das Feld nicht über das Tag ausgibst, sondern direkt darauf zugreifst über:

    <%= ((com.exalead.searchapi.xmlv10.client.SearchAnswer) pageContext.getSession().getAttribute("searchAnswer")).getHits().get(0).getMeta("gaf_produkte").getValues().get(0).getStringValue() %>

    (der Ausdruck gibt nur das Feld des ersten Suchtreffers wieder, also bitte die Suche wieder so einschränken, dass nur ein Treffer ausgegeben wird)

    Gruß

    Donato

    0
  • Zendesk API User
    Author: aVogt - 1/14/2013 15:22

    Da wird leider auch nur ein Produkt angezeigt.

    Gruß

    Andreas

    0
  • Zendesk API User
    Author: aVogt - 1/14/2013 15:36

    ((com.exalead.searchapi.xmlv10.client.SearchAnswer) pageContext.getSession().getAttribute("searchAnswer")).getHits().get(0).getMeta("gaf_produkte").getValues()

    liefert:

    [0046, 0225]

    Das ist Richtig!!

    Das letzte get(0) gibt doch bestimmt nur den ersten Wert der Liste zurück, oder?

    Gruß

    Andreas

    0
  • Zendesk API User
    Author: marro - 2/15/2013 10:53

    Bug wurde in den Versionen 1.7 und 2.1 des EnterpriseSearch-Moduls gefixt.

    [RELEASE] EnterpriseSearch module 1.7 / 2.1

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.