Найти уникальные слова в одном или нескольких столбцах? - PullRequest
3 голосов
/ 18 января 2011

Я смотрю на реализацию тегов на моем веб-сайте ASP.NET.Рассмотрев несколько алгоритмов, я склоняюсь к созданию пары столбцов базы данных, содержащих одно или несколько слов тега.Затем я буду использовать полнотекстовый поиск для поиска строк с указанными тегами.

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

Я знаю, что могу написать программу на C # для построения списка доступных тегов, а затем запускать ее раз в неделю или около того, но мне было просто интересно, есть ли какой-нибудь метод SQL для таких вещей, какэто более эффективно.

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

Ответы [ 2 ]

1 голос
/ 18 января 2011

Это не то, как я бы решил структурировать это, но чтобы ответить на реальный вопрос ...

В SQL Server 2008 вы можете запросить табличное значение sys.dm_fts_index_keywords и sys.dm_fts_index_keywords_by_document функции для получения необходимой информации.

1 голос
/ 18 января 2011

Почему бы не использовать отдельную таблицу для тегов, имеющих отношение многие ко многим с таблицей теговых элементов?Я имею в виду что-то подобное:

--Articles
ArticleId
Text

--Tags
TagId
Name

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