aVogt
Returning Creator

Exalead 5.1 - Suche in bestimmten Textfeldern

Jump to solution

Hallo,

Wir stellen die Suche gerade von 4.3 auf 5.1 um.

Wir haben Textfelder (gaf_quelle und gaf_text) in denen gesucht werden kann.

Wenn ich nur einen Suchbegriff eingebe, wird in allen Feldern gesucht.

Bei Suchbegriff: yxc* wird der Suchtreffer wie im Anhang gefunden (der Suchbegriff steht nur im Feld gaf_quelle)

Bei Suchbegriff: asdf* wird der Suchtreffer wie im Anhang gefunden (der Suchbegriff steht nur im Feld gaf_text)

Nun ist es gewünscht, dass nur in bestimmten Feldern gesucht werden kann. In der bisherigen Exalead-Version 4.3 konnte ich dies mittels des Suchstrings

(gaf_quelle:(yxcvbn)) (corporate/tree:"Top/Source/SAB_gaf")

realisieren.

In der Exalead5.1 erhalte ich kein Suchergebnis.

Bei

yxcvbn (corporate/tree:"Top/Source/SAB_gaf")

erhalte ich ein Suchergebnis.

Hat sich die Syntax geändert, oder muss in Exalead noch etwas eingesetllt werden.

Grüße Andreas

0 Kudos
1 Solution

Accepted Solutions
marro
Crownpeak employee

Hallo,

damit in Exalead 5.1 eigene Prefixhandler benutzt werden können, müssen diese zunächst in der Exalead-Adminstration angelegt werden. Das geschieht unter Search Logics -> Query Language. Dort können über den Button "Add Query Prefix Handler" neue Prefixhandler hinzugefügt werden. In diesem Fall brauchen wir Prefixhandler vom Typ "Fulltext". Als Namen am Besten gleich den Namen des Suchfeldes angeben. Sobald der Prefixhandler angelegt wurde, kann noch das Feld definiert werden, welches bei Benutzung dieses Prefixes durchsucht werden soll. Standardmäßig wird hier der Name des Prefixes übernommen. Man könnte aber auch mit einem Prefix 'abc' das Feld 'xyz' durchsuchen. Nachdem jeweils ein Prefixhandler für das Feld gaf_quelle und gaf_text angelegt wurden, kann über die Suchbegriffe gaf_quelle:yxcbn bzw. gaf_text:asdf in den entsprechenden Feldern gesucht werden.

Viele Grüße,

Donato

View solution in original post

0 Kudos
8 Replies
marro
Crownpeak employee

Hallo,

damit in Exalead 5.1 eigene Prefixhandler benutzt werden können, müssen diese zunächst in der Exalead-Adminstration angelegt werden. Das geschieht unter Search Logics -> Query Language. Dort können über den Button "Add Query Prefix Handler" neue Prefixhandler hinzugefügt werden. In diesem Fall brauchen wir Prefixhandler vom Typ "Fulltext". Als Namen am Besten gleich den Namen des Suchfeldes angeben. Sobald der Prefixhandler angelegt wurde, kann noch das Feld definiert werden, welches bei Benutzung dieses Prefixes durchsucht werden soll. Standardmäßig wird hier der Name des Prefixes übernommen. Man könnte aber auch mit einem Prefix 'abc' das Feld 'xyz' durchsuchen. Nachdem jeweils ein Prefixhandler für das Feld gaf_quelle und gaf_text angelegt wurden, kann über die Suchbegriffe gaf_quelle:yxcbn bzw. gaf_text:asdf in den entsprechenden Feldern gesucht werden.

Viele Grüße,

Donato

0 Kudos
aVogt
Returning Creator

Hallo Donato,

habe zumindest erst mal die Stelle gefunden.

Allerdings kann ich das gewünschte Index-Feld nicht auswählen, da es als Metafeld angelegt wurde  Über den Wizard mit Create Index Field = No(only meta))

Bekomme ich das umgestellt, oder ist es einfacher, das feld zu löschen und neu anzulegen?

Grüße

Andreas

0 Kudos
marro
Crownpeak employee

Ich denke, es wird einfacher sein, das Feld zu löschen und als Indexfeld neu anzulegen. Ich wüsste keinen Weg, das Metafeld in ein Indexfeld zu überführen.

Grüße,

Donato

0 Kudos
aVogt
Returning Creator

Habe das Feld  (Analysis->Index Mappings und Search Logics -> Hit Content).

Allesrdings scheint es noch irgendwo zu stehen, da ich bei Neuanlage des Feldes über den Wizard die Meldung erhalte, dass das Feld schon existiert.

Auch nach einem Neustart ist das feld noch da 😞

Wo könnte es noch stehen?

Grüße

Andreas

0 Kudos
marro
Crownpeak employee

Hast Du mal unter Index Schemas nachgeschaut? Dort sind alle Indexfelder aufgelistet.

Gruß,

Donato

0 Kudos
aVogt
Returning Creator

da steht es nicht.

Ich hab mal in der API-Management gesucht (auch wenn mans nciht machen sollte).

Unter indexing -> getAnalysisConfigList

steht das Feld unter

<MultiContextCSVEncoder name="csv_encoder" outputContext="metas" processUnmappedContexts="false">

Kann ich das dort löschen?

Mit csv habe ich in der Adminoberfläche nichts gefunden.

Grüße

Andreas

Edit:

Habs nun doch gefunden unter Document Processors

0 Kudos
marro
Crownpeak employee

Dann schau mal nach unter Analysis -> Document Processors -> csv_encoder. Ist es dort als Input aufgelistet?

Gruß,

Donato

0 Kudos
aVogt
Returning Creator

Jepp da stehts (hatte es in meinen letzten Kommentar dann hinzugefügt).

Hab nun alles wieder angelegt. Und es scheint zu funkionieren.

Es lag somit daran, dass ich die zu durchsuchenden Felder als "meta" angelegt habe und nicht als "text". Alle andere hatte Exalead automatisch angelegt.

Danke.

Grüße aus Dresden

Andreas

ergänzende Info:

Wenn man das Feld automatisch als "Alphanum with sort" anlegen läßt und dann auch durchsuchen möchte, muß noch unter

Analysis -> Index Mappings

für das betreffende Index-Feld (Achtung nicht für das Index-Sort-Feld - das automatisch angelegt wird) ein Target (Name: Indexfeld; Typ: Index Field) anlegt werden.

0 Kudos