Re: Denkhilfe Fonts/MySQL
"Alexander Veit" <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Joerg Rossdeutscher schrieb:
> [...]
> > SELECT
> > SIMILAR_FONT, SIMILARITY FROM SIMILAR_FONTS
> > WHERE
> > FONT = ? AND SIMILARITY > 0.75
> > ORDER BY SIMILARITY DESC,
> >
> > sprich, zu jedem Font eine Liste ähnlicher Fonts (so etwas wie eine
> > Fontfamilie) zu hinterlegen, wäre vielleicht ein einfacherer Ansatz.
>
> Das klappt aber nur, wenn SIMILARITY eine Zahl ist. Schau dir nochmal
> meine Ursprungsmail an, es geht um eine ganze Kaskade von Zahlen.
Der Ansatz war so gemeint, daß zu jedem Font eine Liste ähnlicher Fonts
(Tabelle SIMILAR_FONTS) samt Grad der Ähnlichkeit hinterlegt würde.
Vielleicht zu aufwendig bei 400.000 zu klassifizierenden Fonts.
> > BTW, falls Du eine sinnvolle Kodierung hast, könntest Du die
> > (Hamming-)Abstände je zweier Fonts programmatisch berechnen
> und das Ergebnis
> > zwecks späterer Verwendung in einer Tabelle speichern.
> Speicheraufwand: N *
> > (N - 1) / 2, wobei N die Anzahl der Fonts ist.
>
> Nun ist es aber so, daß ich 400.000 Fonts besitze, und der Vergleich
> jeder-mit-jedem wohl nicht mehr in meiner Lebenszeit fertig werden
> würde... :-)
Naja, 80 Mrd. Datensätzen in der MySQL-Abstandstabelle, ist wohl wirklich
nicht so ganz das Wahre.
> Deswegen der Versuch, über grobe Ähnlichkeiten eine Vorsortierung zu
> erreichen.
Falls der Fingerprint als String und in _einem_ Feld der Datenbank vorliegt,
wird es mit normalen SQL-Konstrukten wahrscheinlich schwierig, das elegant
und performant hinzubekommen.
Immerhin gibt es in MySQL die Möglichkeit, benutzerdefinierte Funktionen (in
C/C++) zu definieren. Das würde mir auf den ersten Blick noch am
praktikabelsten erscheinen.
--
Gruß,
Alex
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: [email protected]