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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.