Sonderzeichen in Suche 'escapen': Hinweis in Hilfe und unter Suchfeld
-
Sonderzeichen müssen in der Suche mit vorangestelltem Backslash (“\”) escaped werden, zB. “Ku’damm 56” muß mit “Ku\'damm 56” gesucht werden.
Für welche Sonderzeichen gilt das noch?
Anregung:
Kann ein Satz zum Escapen mit Liste dieser Zeichen in der Hilfe-Seite eingefügt werden? Sinnvoll etwa unter Punkt “1. In die Suchliste eintippen, was man anschauen möchte.”Und auch auf der Suchseite selbst wäre eine entsprechender Hinweis mE. sinnvoll. Es reichte schon eine Zeile, direkt unter dem Suchfeld (und nicht so auffällig dass sie das Design stört, vielleicht in mittelgrauer Schrift?) mit (sinngemäß, das geht sicher noch besser):
"Diese Sonderzeichen benötigen ein “\” davor um gefunden zu werden: <Liste der Sonderzeichen>. Beispiel: Für “Ku’damm 56” suche nach “Ku\'damm 56”.Was meint Ihr?
-
Eigentlich war ich der Meinung, dass Elasticsearch das ganze automatisch normalisiert, es also kein Unterschied macht ob man nun “Ku’damm” oder “Kudamm” eingibt. Das ist meiner Meinung nach auch Sinnvoller als Escapen.
-
@bagbag
Sinnvoller ist das, jepp.Für User die aus der Fernsehzeitschrift abtippen wird das Apostroph zum Problem, weil es Ergebnisse blockt. Könnte ein Bug sein.
Hypothese: Es macht die Probleme nur im String, nicht an Anfang oder Ende. Darauf deuten die Ergebniss(-unterschied)e für:
ku’damm
kudamm
ku damm
ku\‘damm
ku’
ku
ku\’
'damm
damm
\'damMglw. ist es nur das Apostroph: Andere Zeichen (Slash und Dollar hab ich probiert) werden auch ignoriert, Escapen hat keinen Einfluß. Sie verhindern aber nicht das Anzeigen von Ergebnissen.
Slash: Folge “(11/12)” oder “(11\/12)” findet auch Datum “11.12.” und “11” und “12” als Worte. Hier erscheinen aber die gewünschten Ergebnisse unter den anderen, so dass das kein echtes Problem sein dürfte.
Ebenso Dollar: “$uicideboy$” wird gefunden, aber nicht mit “$” oder “\$” alleine.Also ist nur das ’ der Trefferkiller der escaped werden muß und einen Hinweis verdient? Oder liegt ein Bug vor?
-
Nachtrag (hab grad etwas Zeit), FWIW:
Der Apostrophe Token Filter ist es wohl nicht: “…strips all characters after an apostrophe, including the apostrophe itself”. Ist hier nicht der Fall (“'damm” liefert Treffer).
Könnte sein dass eine term Abfrage das Problem ist. Ein Tip von Stackoverflow:
“… when you save the string “I love Vincent’s pie!” into elasticsearch, and you’re using the default standard analyzer, you’re actually storing “i”, “love”, “vincent”, “s”, “pie”.
Then, when you attempt to search for “Vincent’s” with a term query (which is not analyzed), you will not find anything because “Vincent’s” is not one of those tokens!
However, if you search for “Vincent’s” using a match query (which is analyzed), you will find “I love Vincent’s pie!” because “vincent” and “s” both find matches.” -
Ich habe weder vor den Apostrophe Token Filter zu nutzen, noch verwende ich eine Term Query.
Meine Plan ist es einfach alle nicht alphanumerischen Zeichen nach dem ASCII-Folding zu ignorieren bzw. diese zum Splitten zu nutzen.
-
Naja, es gibt auch bestimmt Dringlicheres als den Schokostreusel auf der Kirsche auf einer Sahnetorte zu optimieren. Ihr macht schon einen prima Job mit MVW!
Danke dafür! -
Hab nun Zeit dafür gefunden: https://mediathekviewweb.de/#query=Ku’damm
-
@bagbag (Hab’s gerade erst gesehen.)
Cool! Danke!