Отображение результатов поиска "Google как" - PullRequest
2 голосов
/ 02 мая 2010

Работая в ASP.NET (VB), я пытаюсь разработать простую страницу результатов поиска для своего сайта.

Процесс выглядит следующим образом:

  1. Пользователь сайта вводит поисковую фразу;

  2. Страница результатов поиска выполняет поиск в базе данных сайта, возвращает заголовок страницы в виде ссылки и короткий фрагмент из каждого "хита" поиска с выделенной поисковой фразой.

У меня уже есть поисковая часть, а также выделенная часть (с использованием Regex). Однако я хочу иметь возможность вернуть короткий фрагмент текста, который включает в себя поисковую фразу (несколько слов до поисковой фразы, несколько после). Что-то вроде:

Заголовок страницы [как ссылка]

... yada yada yada поиск по фразе yada yada yada ....

Ответы [ 2 ]

1 голос
/ 10 мая 2010
(\b\S+\b(\s*)){3}search phrase((\s*)\b\S+\b){3}

Это выберет 3 слова перед «поисковой фразой» и 3 слова после.

Если у вас есть предложение «поисковая фраза lorum ipsum search фразу», оно, вероятно, будет соответствовать только первой поисковой фразе

1 голос
/ 02 мая 2010

Google отображает предложение, в котором было найдено ключевое слово. Предполагая, что вы уже нашли позицию ключевого слова в тексте, я бы сделал:

  1. Переходите назад на символ за положением ключевого слова, пока не найдете . или ? или ! или начало текста.
  2. Вернуть подстроку требуемой длины из этой позиции.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...