2009-03-26 9 views
1

J'ai trois bases de données qui contiennent toutes le contenu de plusieurs pages Web. Quel serait le meilleur moyen de rechercher les trois et d'avoir la page Web la plus pertinente en haut des résultats de recherche? La seule façon que je peux penser est de décomposer le contenu par le nombre de mots et/ou de créer un ensemble complexe de règles de recherche pour donner une priorité de contenu sur un autre. Cela pourrait être plus difficile que ce que ça vaut, mais je me demandais si quelqu'un connaît un moyen ou un produit qui pourrait m'aider.Résultats de recherche pertinents à travers plusieurs bases de données

Répondre

0

Pour soutenir davantage la réponse d'Ivans ci-dessus Lucene est la voie à suivre. Vous n'avez pas mentionné la plate-forme sur laquelle vous vous trouvez, je vous ferai remarquer que vous pouvez également utiliser un port .NET.

Si vous utilisez Lucene, il existe un très bon livre de Manning sur le sujet que je vous recommande de regarder.

Lorsqu'il s'agit de remplir votre index, vous avez plusieurs choix. Pour commencer, vous pouvez simplement vider tout votre texte dans l'index et permettre au moteur de simplement le rechercher. Cependant, je vous recommande d'ajouter des champs fixes à votre index, ce qui vous permettra de prendre en charge des éléments tels que les recherches partitionnées ou les recherches sur ces champs uniquement. Pour expliquer, disons que vous avez un champ pour le site Web. Ensuite, vous pouvez partitionner votre index en limitant la recherche d'index aux documents ayant ce site Web dans ce champ.

L'autre processus consiste à extraire les points d'intérêt de votre document et à autoriser les recherches sur ceux-ci sans rechercher l'intégralité de l'entrée d'index. Votre kilométrage peut varier avec ceci puisque le moteur de Lucene est très bien écrit ainsi il peut simplement vous permettre de rassembler vos recherches dans des unités plus logiques qui vous aident avec votre solution.

Je l'ai fait moi-même et cela aide à répondre aux questions de gestion sur ce qui est exactement recherché et indexé.

HTH!

0

Si vous utilisez MS SQL Server, la recherche en texte intégral peut renvoyer un classement pour vous. Je ne l'ai pas utilisé, vous devrez donc consulter la documentation ou en ligne pour plus de détails.

Questions connexes