2010-10-25 4 views
0

У меня есть большой XML-документ в столбце Xml в SQL Server. Мне нужно в основном выполнить бесплатный текстовый поиск по элементам в документе.SQL 2005 XML Search

ли вы использовать A) SQL Free Text Search B) хранимую процедуру, которая просматривает XML и проверяет каждое значение каждого элемента C) Используйте Lucene.Net для построения индекса на лету и поиск по индексу?

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

ответ

0

В книге «Pro SQL Server 2008 XML» есть раздел по полнотекстовой индексации XML-данных, который может вас заинтересовать. В нем упоминается, что при индексировании данных XML специальный разделитель XML Word используется для отделения текстового содержимого от разметки. По сути, это означает, что индексируется только контент, а не разметка. Полнотекстовые индексы также поддерживают привязку и сопоставление тезаурусов.

Только что заметил, что вы используете SQL Server 2005, поэтому вам нужно будет проверить, поддерживается ли эта функция. Я подозреваю, что это так.