Properti dokumen SQL Server Filetable

9

Saya menggunakan Filetable SQL Server 2012 untuk menyimpan dokumen dan mencari dengan Semantic Search .

Saya bertanya-tanya apakah ada cara untuk membuat daftar semua properti dokumen (meta data). Ada cara untuk membiarkan indeks Pencarian Teks Lengkap dan mencari melalui properti dokumen. Saya bisa membuat daftar properti Indeks SQL Server dengan pernyataan berikut:

 SELECT * FROM sys.registered_search_properties; 

Saya juga dapat memperpanjang daftar ini dengan SQL atau menggunakan program .

Apa yang saya tidak temukan adalah cara untuk membuat daftar informasi yang sebenarnya. Yang saya cari adalah daftar seperti:

  • Penulis : Ruud van de Beeten
  • Judul : Dokumen uji
  • properti khusus : nilai khusus

Adakah yang bisa mengarahkan saya ke arah yang benar?

Sunting : Bob Beauchemin membuat tiket yang menjelaskan masalah saya. Karena DMV tidak mencantumkan nilai properti, saya tidak dapat menggunakannya dalam proyek saya.

Saya akhirnya menggunakan C # untuk membuat daftar properti khusus dengan objek OleDocumentProperties . Objek ini dapat membaca properti dari dokumen Office. Saya akan terus menonton pertanyaan ini, berharap solusi yang lebih baik.

Ruud van de Beeten
sumber

Jawaban:

10

Sepertinya (saat ini) yang terbaik yang dapat Anda lakukan adalah menggunakan kata kunci di properti, bergabung dengan mereka ke dokter dan silangkan jari Anda sudah cukup.

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 pada DMV itu - http://msdn.microsoft.com/en-us/library/ee677646.aspx

Berikut adalah diskusi dengan Bob Beauchemin dan saya tentang topik: https://twitter.com/bobbeauch/status/275101491084292096

Bob memberi tahu saya tentang DMV yang disebutkan di atas dan cukup banyak mengkonfirmasi bahwa itu adalah cara yang paling mungkin.

Inilah tiket Connect yang dibuat Bob untuk topik ini: https://connect.microsoft.com/SQLServer/feedback/details/773212/provide-complete-fts-property-values-in-a-dmv-side-table

Kami juga melanjutkan untuk berbicara tentang bagaimana mungkin lebih baik untuk memiliki semacam preprocessor untuk mengeluarkan meta info, menyimpannya, (tidak yakin apakah Anda menormalkan format dokumen Anda atau tidak), dan kemudian memproses ulang jika dimodifikasi. Bob menyarankan mungkin bisa melakukan ini dengan pemicu / proc SQLCLR yang akan menjadi solusi yang lebih pintar dan membuat Anda semua jenis kotor.

Gator
sumber
terima kasih telah meluangkan waktu untuk menjawab pertanyaan saya. Saya mengetahui tentang dmv, tetapi saya tidak dapat menggunakannya. Tiket yang dibuat Bob menggambarkan dengan baik apa masalah saya.
Ruud van de Beeten
Ini adalah jawaban terbaik (dan satu-satunya) sejauh ini. Saya akhirnya menggunakan C # untuk membuat daftar properti khusus dengan objek OleDocumentProperties . Saya akan menonton pertanyaan ini, berharap ada solusi.
Ruud van de Beeten
5

Menemukan beta dari produk yang melakukan ini karena saya ditanya pertanyaan secara langsung. Tidak berafiliasi dengan perusahaan ini. Lihat "Cara Mengembalikan Nilai Properti Dokumen dalam Pencarian Teks Lengkap" di: http://www.sqlskills.com/blogs/bobb/ .

Bob Beauchemin
sumber