Hi,

> Klingt nicht schlecht soweit.
> Am besten nimmt man da eine SP, die gleich checkt, ob das Wort schon
> existiert.
> Und vergiss nicht Listen mit stopwords, sonst läuft Dir die
> DB voll mit
> der/die/das/und etc...

ja, soweit klar - mal schauen ob ich da entsprechende Listen
Deutsch/Englisch finde, ansonsten könnte man sich sowas mit
der Zeit auch selbst generieren.

> Weiterhin speicherst Du für jedes Wort gleich den soundex in
> einer eigenen
> Spalte, so musst du den relativ komplexen soundex-Algo nicht
> auf jede Zeile
> in der DB erneut anwenden, sondern nur auf das Suchwort.

Ja, hatte ich auch vor.

> Die Wortspalte und soundexspalte sollte natürlich indexiert
> werden und du
> solltest mit like 'xxx%' suchen, nicht mit like '%xxx%',
> sonst bringt der
> Index nichts und Du machst trotzdem nen tablescan.

Hm, wie würde dann eine entsprechende Query aussehen? Das was
ich mir testweise zusammengebastelt habe, verzichtet ganz
auf Like:

SELECT SnippetDescription, DIFFERENCE(SnippetDescription, @query) as
similarity FROM Snippets WHERE DIFFERENCE(SnippetTitle, @query) >= 3
ORDER BY similarity DESC

Wo würdest du hier noch das Like unterbringen?

>
> Wenn Du es noch toller machen willst, solltest Du statt soundex mal
> DoubleMetaphone versuchen. Dieser Algorithmus liefert nicht
> nur für Englisch
> vernünftige Ergebnisse.

So große Geschütze will ich eigentlich nicht auffahren. Ich will's
nur ordentlich machen, aber nicht perfekt ;-)

Ansonsten schonmal danke für deine Gedanken, und natürlich für den
Where-Algo ;-)

Gruß, Thomas
___________________________
http://blog.thomasbandt.de/


_______________________________________________
Coffeehouse Mailingliste, Postings senden an:
[email protected]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/coffeehouse

Antwort per Email an