A title is not searchable by its original name #56
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
A title is not searchable by the name it was released under.
Upstream matches
OriginalTitleas well asName, scoring such a row into thelowest tier. Live:
searchTerm=エッジランナーズfindsCyberpunk: Edgerunnersupstream and nothing here.
Adding the clause alone would not fix that case. This server's
text::fold_diacriticsstrips every non-spacing mark after NFD, which destroysJapanese dakuten —
エッジfolds toエッシ— where upstream's folding leavesnon-Latin scripts alone. The two are coupled: the missing column and a folding
that damages the term before it is compared.
One title in the measured library has an
OriginalTitlediffering from itsName, so the reach today is that single item; the folding is the wider of thetwo.
A title is searchable by the name it was released under, and the folding no
longer damages the term.
Two coupled causes. Upstream matches
CleanNameorOriginalTitle LIKE %term%, scoring an original-title-only hit into the lowesttier by falling through the
CASE. And its folding is not a decomposition:StringExtensions.RemoveDiacriticscalls Diacritics.NET, whose mapper is aper-character dictionary lookup — a character not in the table is copied through
unchanged, and there is no NFD anywhere. This port used NFD and stripped every
non-spacing mark, which destroys Japanese dakuten and any script whose marks are
part of its letters.
fold_diacriticsis now the same table, and the evidence is the whole library:recomputing the folded name for all 56,266 rows of a production database
reproduces the stored
CleanNamewith 0 mismatches. The NFD version got76 wrong —
Topsøe,Całun,Skjævesland,Đào, and every kana with adakuten.
searchTerm=エッジランナーズnow findsCyberpunk: Edgerunners, as upstreamdoes; before it found nothing.
Not verified: the mapping table was extracted from a 4.1.x tree of
Diacritics.NET where upstream pins 4.1.8 and no source tag was fetchable. The
56k-row agreement is the evidence that the two are equivalent for every
character this library holds.