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
