Dieser Hotfix behebt einen Bug, der dank des ersten externen Nutzer-Feedbacks entdeckt wurde — vielen Dank an den aufmerksamen Hinweis!
Das Problem
Seit v0.21 normalisiert die Suchmaschine historische Schreibweisen: „dass“ findet „daß“, „Teil“ findet „Theil“. Die Suche zählte und identifizierte die Treffer korrekt — aber die Hervorhebung im Textkörper funktionierte nur für exakte Zeichenfolgen. Wer z. B. „Prozess“ suchte, sah „3 Seiten“ als Ergebnis, aber auf den betroffenen Seiten wurde „Prozeß“ nicht gelb markiert.
Die Ursache
Die Such-Engine (evaluateQuery) verwendete die
Orthographie-Normalisierung (normalizeOrtho), um
Treffer zu finden. Die Highlighting-Funktionen
(highlightTermsInCard im Reader,
highlightText und extractSnippet
auf der Recherche-Seite) arbeiteten jedoch mit einfachem
String-Matching — ohne Normalisierung.
Die Lösung
Alle drei Highlighting-Funktionen nutzen jetzt eine neue Hilfsfunktion
orthoMapOrigToNorm, die für jeden Originaltext eine
Zeichenposition-Zuordnung zur normalisierten Form berechnet. Treffer
im normalisierten Text werden auf die korrekten Positionen im
Originaltext zurückgemappt — so wird z. B.
„daß“ korrekt hervorgehoben, auch wenn der Suchbegriff
„dass“ lautet.
Betroffene Dateien
text.html—highlightTermsInCard: Orthographie-bewusstes Highlighting im Readersearch.html—highlightText: Snippet-Hervorhebung in Suchergebnissensearch.html—extractSnippet: Snippet-Fenster zentriert jetzt auch auf Ortho-Treffer
Dieser Fix basiert auf dem ersten externen Nutzer-Feedback über das Feedback-Formular. Danke für den Hinweis!
← Alle Einträge