2010-05-02 150 views
2

在ASP.NET(VB)中工作時,我試圖爲我的網站開發一個簡單的搜索結果頁面。顯示「Google like」搜索結果

的過程如下:

  1. 該網站的用戶輸入搜索短語;

  2. 搜索結果頁面搜索網站的數據庫,將頁面標題作爲鏈接返回,並從每個搜索「hit」中選擇一個短片段,並突出顯示搜索短語。

我已經完成了搜索部分,還完成了「高亮顯示」部分(使用正則表達式)。不過,我希望能夠返回一小段文字,其中包括搜索詞組(搜索詞組前幾個詞,後面幾個詞)。喜歡的東西:

頁面標題[爲紐帶]

...亞達內容十分重要搜索短語亞達內容十分重要....

回答

1

谷歌顯示的關鍵字,發現一個句子。假設你已經找到了一個文本的關鍵詞的位置,我會做:

  1. 通過焦炭從關鍵詞位置向後去字符,直到找到.?!或文本的開端。
  2. 從該位置返回所需長度的子串。
1
(\b\S+\b(\s*)){3}search phrase((\s*)\b\S+\b){3} 

這將選擇3個字之前 「搜索短語」 和3個字後。

如果您有一句「搜索短語lorum ipsum搜索短語」,它可能只會匹配第一個搜索短語