2009-08-04 3 views
1

Mon site dispose d'une base de données de widgets, chaque widget a un nom et une description. Je veux mettre en place un système de recherche rapide et pertinent sur mon site, comment faire?Mise en œuvre d'une recherche rapide et pertinente pour mon site (C# ASP.net)

En note, j'ai également implémenté des tags sur ces widgets. Voici comment je mis en œuvre (Dites-moi ce que vous pensez):

widgets table: a id unique ainsi que d'autres informations pour un widget Tableau tag_words: A ID unique et bien sûr, la balise table tag-widget: table de jointure qui associe une balise à un widget

J'ai créé des index sur toutes ces colonnes pour que la recherche soit aussi rapide que possible.

Répondre

3

Si vous utilisez SQL Server, vous pouvez utiliser full-text search. En ce qui concerne les tags, c'est le meilleur moyen pour un site petit à moyen. StackOverflow dénormalise le marquage pour des lectures plus rapides, mais pour votre application, j'éviterais probablement cela.

3

Lucene.NET est une alternative si vous ne pouvez pas utiliser la recherche de texte intégral intégrée à partir de votre base de données. Cela vous donne également un meilleur contrôle sur quoi et comment les choses sont indexées. En lisant vos notes sur les tags, je pense que j'utiliserais vraiment Lucene.NET. Cela vous permettra de décider comment classer les tags par rapport à tout le reste, alors que je ne sais pas si cela est possible avec la recherche en texte intégral de SQL Server.

Questions connexes