Как оптимизировать хранение форматированного текста в MS SQL для функции поиска? - PullRequest
2 голосов
/ 15 августа 2011

Я собираюсь сохранить в базе данных mssql некоторые статьи (с форматированием XHTML), которые будут отображаться на странице ASP.NET, и я собираюсь предоставить некоторую функцию поиска. Теперь у меня есть несколько вопросов:

  1. какой тип БД лучше всего хранить для текста?
  2. как искать в этом поле (достаточно ли, как LIKE для длинного текста)?
  3. как выполнить поиск без поиска данных в тегах форматирования? Например, когда пользователь ищет «spa», он не должен совпадать с элементами span (что будет делать простой LIKE).

Для вставки отформатированных данных я буду использовать элемент управления ASP.NET, но я еще не выбрал ни одного, обычно их выводом является XHTML. Может быть, вы также можете порекомендовать «пакет» такой структуры управления и таблицы БД?

Заранее спасибо.

1 Ответ

1 голос
/ 15 августа 2011

1) Если вы собираетесь хранить текст произвольной длины, я бы все время использовал NTEXT. Вы можете использовать NVARCHAR (MAX), но есть ряд плюсов и минусов в этом выборе; большое значение имеет производительность и место хранения данных в зависимости от размера. (если он меньше 8000 байт, он использует строку таблицы, если больше, чем использует хранилище больших объектов).

2) Вы можете использовать LIKE с NTEXT, но NTEXT также дает вам возможность использовать полнотекстовое индексирование.

3) Если вы используете полнотекстовое индексирование, вы можете избежать разметки HTML, вот еще один SO ответ на детали этого:

Как игнорировать HTML-теги в Sql Server 2008 Полнотекстовый поиск

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