Thuộc tính tài liệu có thể lưu trữ của SQL Server


9

Tôi đang sử dụng Filetable của SQL Server 2012 để lưu trữ tài liệu và tìm kiếm chúng với Tìm kiếm ngữ nghĩa .

Tôi đã tự hỏi nếu có một cách để liệt kê tất cả các thuộc tính tài liệu (dữ liệu meta). Có một cách để chỉ mục Tìm kiếm toàn văn bản và tìm kiếm thông qua các thuộc tính tài liệu. Tôi có thể tạo một danh sách các thuộc tính SQL Server Index với câu lệnh sau:

 SELECT * FROM sys.registered_search_properties; 

Tôi cũng có thể mở rộng danh sách này bằng SQL hoặc sử dụng chương trình .

Những gì tôi đã không tìm thấy là một cách để liệt kê thông tin thực tế. Những gì tôi đang tìm kiếm là một danh sách như:

  • Tác giả : Ruud van de Beeten
  • Tiêu đề : Tài liệu kiểm tra
  • thuộc tính tùy chỉnh : giá trị tùy chỉnh

ai đó có thể chỉ cho tôi phương hướng đúng không?

Chỉnh sửa : Bob Beauchemin đã tạo ra một vé mô tả vấn đề của tôi. Vì DMV không liệt kê các giá trị tài sản, tôi không thể sử dụng nó trong dự án của mình.

Tôi đã kết thúc việc sử dụng C # để liệt kê các thuộc tính tùy chỉnh với đối tượng OleDocumentProperIES . Đối tượng này có thể đọc các thuộc tính từ một tài liệu Office. Tôi sẽ tiếp tục xem câu hỏi này, hy vọng cho một giải pháp tốt hơn.

Câu trả lời:


10

Có vẻ như (tại thời điểm này) điều tốt nhất bạn sẽ có thể làm là sử dụng các từ khóa trên tài sản, tham gia chúng với tài liệu và bắt chéo ngón tay của bạn là đủ.

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 trên DMV đó - http://msdn.microsoft.com/en-us/l Library / e677646.aspx

Đây là một cuộc thảo luận với Bob Beauchemin và tôi về chủ đề: https://twitter.com/bobbeauch/status/275101491084292096

Bob nói với tôi về DMV đã đề cập ở trên và khá nhiều người xác nhận rằng đó là cách khả dĩ nhất.

Đây là vé Connect mà Bob đã tạo cho chủ đề này: https://connect.microsoft.com/QueryServer/feedback/details/773212/provide-complete-raft-property-values-in-a-dmv-side-table

Chúng tôi cũng tiếp tục nói về việc làm thế nào tốt hơn để có một bộ tiền xử lý sắp xếp để lấy thông tin meta ra, lưu trữ nó, (không chắc bạn có bình thường hóa định dạng tài liệu của mình hay không), sau đó xử lý lại nếu được sửa đổi. Bob đề nghị có lẽ có thể thực hiện việc này bằng trình kích hoạt / Proc SQLCLR, đây sẽ là một giải pháp khá thông minh và giúp bạn có được tất cả các loại bẩn.


cảm ơn bạn đã dành thời gian để trả lời câu hỏi của tôi Tôi đã tìm hiểu về dmv, nhưng tôi không thể sử dụng nó. Chiếc vé mà Bob tạo ra mô tả rõ nhất vấn đề của tôi là gì.
Ruud van de Beeten

Đây là câu trả lời tốt nhất (và duy nhất) cho đến nay. Tôi đã kết thúc việc sử dụng C # để liệt kê các thuộc tính tùy chỉnh với đối tượng OleDocumentProperIES . Tôi sẽ xem câu hỏi này, hy vọng cho một giải pháp.
Ruud van de Beeten

5

Tìm thấy beta của một sản phẩm làm điều này bởi vì tôi đã được hỏi câu hỏi trực tiếp. Không liên kết với công ty này là bất kỳ cách nào. Xem "Cách trả về giá trị tài sản tài liệu trong tìm kiếm toàn văn bản" tại: http://www.sqlskills.com/bloss/bobb/ .

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.