Proprietà del documento filettabile di SQL Server


9

Sto utilizzando il file filetable di SQL Server 2012 per archiviare documenti e cercarli con la ricerca semantica .

Mi chiedevo se esiste un modo per elencare tutte le proprietà del documento (metadati). C'è un modo per consentire alla ricerca full-text di indicizzare e cercare tra le proprietà del documento. Posso creare un elenco di proprietà degli indici di SQL Server con la seguente dichiarazione:

 SELECT * FROM sys.registered_search_properties; 

Posso anche estendere questo elenco con SQL o usando un programma .

Quello che non ho trovato è un modo per elencare le informazioni effettive. Quello che sto cercando è un elenco come:

  • Autore : Ruud van de Beeten
  • Titolo : documento di prova
  • proprietà personalizzata : valore personalizzato

Qualcuno può indicarmi la giusta direzione?

Modifica : Bob Beauchemin ha creato un biglietto che descrive il mio problema. Poiché il DMV non elenca i valori delle proprietà, non posso utilizzarlo nel mio progetto.

Ho finito con C # per elencare proprietà personalizzate con l' oggetto OleDocumentProperties . Questo oggetto può leggere le proprietà da un documento di Office. Continuerò a guardare questa domanda, sperando in una soluzione migliore.

Risposte:


10

Sembra che (in questo momento) il meglio che puoi fare è usare le parole chiave sulla proprietà, unirle al documento e incrociare le dita è sufficiente.

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

Ecco una discussione con Bob Beauchemin e io sull'argomento: https://twitter.com/bobbeauch/status/275101491084292096

Bob mi ha parlato del DMV di cui sopra e praticamente ha confermato che è il modo più probabile.

Ecco il ticket Connect creato da Bob per questo argomento: https://connect.microsoft.com/SQLServer/feedback/details/773212/provide-complete-fts-property-values-in-a-dmv-side-table

Continuiamo anche a parlare di come potrebbe essere meglio avere un preprocessore per estrarre le meta informazioni, memorizzarle (non sono sicuro se si normalizza il formato dei propri documenti o meno) e quindi rielaborarle se modificate. Bob suggerisce forse di essere in grado di farlo con un trigger / proc SQLCLR che sarebbe una soluzione piuttosto intelligente e sporcarsi le mani.


grazie per aver dedicato del tempo per rispondere alla mia domanda. Ho scoperto il dmv, ma non posso usarlo. Il biglietto creato da Bob descrive meglio quale sia il mio problema.
Ruud van de Beeten,

Questa è la migliore (e unica) risposta finora. Ho finito con C # per elencare proprietà personalizzate con l' oggetto OleDocumentProperties . Guarderò questa domanda, sperando in una soluzione.
Ruud van de Beeten,

5

Ho trovato la beta di un prodotto che fa questo perché mi è stata posta direttamente la domanda. Non è affiliato con questa azienda è in alcun modo. Vedere "Come restituire i valori delle proprietà del documento nella ricerca full-text" all'indirizzo: http://www.sqlskills.com/blogs/bobb/ .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.