T-SQL поиск HTML с регулярным выражением? - PullRequest
1 голос
/ 21 апреля 2009

В моей базе данных есть поле, содержащее HTML-документ. Теперь должна быть возможность поиска в этом документе. Тем не менее, HTML-теги могут быть не найдены. Поэтому, когда у меня есть что-то вроде этого:

<html>
  <head>
    <title>Bar</title>
  </head>
  <body>
   <p>
     this content my be found
   </p>
  </body>
</html>

Возможно, документ, хранящийся в базе данных, не является xhtml. Можете ли вы сказать мне, что лучше всего искать в содержании? Должен ли я использовать регулярные выражения? И как же это будет выглядеть? И если нет, что я должен использовать еще?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2009

Какой объем записей есть? Я ожидаю, что вам, возможно, придется использовать полнотекстовый поиск и IFilter, чтобы сделать это эффективно. HTML плохо подходит для регулярных выражений - очень быстро очень сложно сделать что-то очень простое.

Если объем не очень большой, можете ли вы перебирать записи с помощью внешнего приложения для синтаксического анализа, используя что-то вроде HTML Agility Pack (для .NET) или любой другой DOM по вашему выбору.

Но FTS / IFilter будет моим первым выбором.

2 голосов
/ 21 апреля 2009

Вы можете попробовать включить Полнотекстовый поиск или использовать что-то вроде Lucene.Net , чтобы проиндексировать контент для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...