Властивості документа для файлового файлу SQL Server


9

Я використовую Filetable SQL Server 2012 для зберігання документів та пошуку в них за допомогою семантичного пошуку .

Мені було цікаво, чи є спосіб перерахувати всі властивості документа (метадані). Існує спосіб дозволити індексу повнотекстового пошуку та пошуку властивостей документа. Я можу скласти список властивостей індексів SQL Server із наступним твердженням:

 SELECT * FROM sys.registered_search_properties; 

Я також можу розширити цей список за допомогою SQL або за допомогою програми .

Що я не знайшов - це спосіб перерахувати фактичну інформацію. Я шукаю такий список, як:

  • Автор : Рууд ван де Бітен
  • Назва : Тестовий документ
  • користувацька властивість : спеціальне значення

Чи може хтось вказати мене в правильному напрямку?

Редагувати : Боб Бошемін створив квиток, в якому описував мою проблему. Оскільки DMV не перераховує значення властивостей, я не можу використовувати його у своєму проекті.

Я в кінцевому підсумку використовував C # для переліку користувацьких властивостей з об'єктом OleDocumentProperties . Цей об'єкт може читати властивості з документа Office. Я продовжую спостерігати за цим питанням, сподіваючись на краще рішення.

Відповіді:


10

Схоже, (на даний момент) найкраще, що ви збираєтеся зробити, - це використовувати ключові слова у власності, приєднати їх до документа та схрестити пальці.

SELECT
    keyword,
    display_term,
    column_id, document_id, property_id
FROM sys.dm_fts_index_keywords_by_property
(
    DB_ID('FileTableDB'), 
    OBJECT_ID('FileTableTb')
);

MSDN на цьому DMV - http://msdn.microsoft.com/en-us/library/ee677646.aspx

Ось дискусія з Боб Бошеміном і я на тему: https://twitter.com/bobbeauch/status/275101491084292096

Боб розповів мені про згаданий вище ДМВ і майже підтвердив, що це найбільш вірогідний спосіб.

Ось квиток, який створив Bob для цієї теми: https://connect.microsoft.com/SQLServer/feedback/details/773212/provide-complete-fts-property-values-in-a-dmv-side-table

Ми також продовжуємо говорити про те, як може бути краще мати препроцесор сортів, щоб витягнути мета-інформацію, зберігати її (не впевнений, нормалізуєте ви формат своїх документів чи ні), а потім повторно обробляйте, якщо змінено. Боб пропонує, можливо, мати змогу зняти це за допомогою тригера / процесора SQLCLR, що було б досить розумним рішенням і забруднити ваші руки всілякими.


дякую, що знайшли час, щоб відповісти на моє запитання. Я дізнався про dmv, але не можу ним користуватися. Квиток, який створив Боб, найкраще описує мою проблему.
Рууд ван де Бітен

Це найкраща (і єдина) відповідь поки що. Я в кінцевому підсумку використовував C # для переліку користувацьких властивостей з об'єктом OleDocumentProperties . Я буду спостерігати за цим питанням, сподіваючись на рішення.
Рууд ван де Бітен

5

Знайдено бета продукту, який це робить, тому що мені було задано питання безпосередньо. Не пов'язаний з цією компанією жодним чином. Див. "Як повернути значення властивостей документа в повнотекстовому пошуку" за адресою: http://www.sqlskills.com/blogs/bobb/ .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.