2010-05-02 3 views
2

En travaillant dans ASP.NET (VB), j'essaye de développer une page de résultats de recherche simple pour mon site Web.Afficher "Google like" résultats de la recherche

Le processus est le suivant:

  1. L'utilisateur du site entre une phrase de recherche, La page des résultats de la recherche recherche dans la base de données du site, renvoie le titre de la page sous forme de lien et un court extrait de chaque recherche "hit", avec la phrase recherchée en surbrillance.

J'ai déjà fait la partie de recherche, et aussi la partie "en surbrillance" fait (en utilisant Regex). Cependant, je veux être en mesure de retourner un court extrait de texte, qui comprennent la phrase de recherche (quelques mots avant la phrase de recherche, quelques-uns après). Quelque chose comme:

Titre de la page [comme lien]

... yada yada yada phrase de recherche yada yada yada ....

Répondre

1

Google affiche une phrase dans laquelle mot-clé a été trouvé . En supposant que vous avez déjà trouvé une position mot-clé dans un texte, je le ferais:

  1. Reculer omble chevalier par char de la position mot-clé jusqu'à ce que vous trouverez . ou ? ou ! ou début d'un texte.
  2. Renvoie une sous-chaîne de la longueur requise à partir de cette position.
1
(\b\S+\b(\s*)){3}search phrase((\s*)\b\S+\b){3} 

Cela sélectionnera 3 mots avant "la recherche phrase" et 3 mots après.

Si vous avez une phrase "phrase de recherche lorum ipsum phrase de recherche", elle ne correspondra probablement qu'à la première phrase de recherche

Questions connexes