Suche von diakritischen Zeichen
Gibt es ein Möglichkeit die Suche für diakritische Zeichen unempfindlich zu machen?
z.B. Café findet auch Cafe (e findet è, é, ê und ë) etc.
... wenn das Suchergebnis vom Typ 'db_column' ist, wird auch 'Café' gefunden wenn 'Cafe' gesucht wurde. Wenn das Suchergebnis vom Typ 'article' ist, dann nicht.
...ah, oh... das problem liegt eher an $hit['highlightedtext']...
Was genau ist denn das Problem mit der Text-Hervorhebung?
wenn ich z.b. cafe suche wird zwar ein artikel der 'café' enthält gefunden, aber der entsprechende $hit['highlightedtext'] eintrag ist leer. d.h. das die entsprechende sql suchanfrage den artikel findet, aber die php funktion, die den highlightedtext (getHighlightedText) erzeugt nicht 'normalisiert'
Das sollte sich schon gleich verhalten - kannst du evtl. selbst einen PR dazu einreichen?
leider habe ich bislang nicht genau geblickt wie ich das im addon lösen kann... ich hab das in meinem projekt erstmal hemdsärmelig gelöst: wenn $hit['highlightedtext'] leer ist, greife ich auf $hit['unchangedtext'] zurück und schneide den treffer aus...
im einem Fall (Suchergebnisse als Paragraph darstellen) ist das Problem mit den diakritsichen Zeichen gelöst, denke ich.
~Haben wir hier Vorteile durch eine Umstellung auf utf8mb4?~
Es ist ja in PHP, sorry.
Ich habe mal recherchiert und keine gute Lösung gefunden, um die Positionen von Fundstellen (insb. bei mehreren Fundstellen oder Suchbegriffen) unkompliziert zu erhalten.
Man müsste das so machen, dass in mit normalisierten Suchbegriffen in einem normalisierten Fundstellentext die Positionen der jeweiligen Treffer gemerkt werden und dann im nicht normalisierten Fundstellentext an eben jeden Positionen die Marker gesetzt werden.
@isospin wie hast du es schlussendlich gelöst? Was hältst du von meinem Ansatz? Man könnte das doch als Funktion/Methode isolieren und von hinten nach vorne dann die Fundstellen highlighten. Wärst du bereit, da noch etwas beizusteuern?