none
Semantische Suche von SQL Server berücksichtigt nur Wörter aus dem Titel der Dateien, nicht aus den Dokumenten RRS feed

  • Frage

  • Hallo,

    ich versuche die Schritte aus diesem YouTube-Tutorial umzusetzen: Explore FileTables, Full-Text Search and Semantic Search Across Unstructured Data in SQL Server 2012 

    Bei folgendem Code werden jedoch nur die Wörter aus dem Titel des Dokuments betrachtet, nicht aus dem Dokument:

    USE FileSearchTest 
    GO
    
    DECLARE @Title as NVARCHAR(1000)
    DECLARE @DocID as UNIQUEIDENTIFIER
    
    SET @Title = 'Semantic One.docx'
    
    SELECT @DocID =stream_id FROM DocumentSemantics WHERE name= @Title
    
    SELECT name, document_key, keyphrase,score
    FROM semantickeyphrasetable(DocumentSemantics,*, @DocID)
    INNER JOIN DocumentSemantics ON stream_id = document_key
    ORDER BY name, score DESC
    GO 

    Ebenso in den anderen Code-Beispielen. Weiß jemand, woran das liegen könnte?

    Vielen Dank und viele Grüße!


    • Bearbeitet S. Rajski Mittwoch, 4. April 2018 08:46
    Mittwoch, 4. April 2018 08:45

Alle Antworten

  • Hallo S. Rajski,

    Ich vermute mal ganz stark, dass du hier beim anlegen des Volltextkatalogs die Option "with Search Property List = DocumentProperties"

    eingeschränkt hast. Poste hier einmal die Statements, die du zur Anlage des Volltextkatalogs genutzt hast!

    Grüße Volker

    Mittwoch, 4. April 2018 10:34
  • Hi Volker,

    ich habe folgende Statements genutzt:

    CREATE SEARCH PROPERTY LIST DocumentPropertiesTest;
    GO
    
    ALTER SEARCH PROPERTY LIST DocumentPropertiesTest
    ADD 'Title'
    WITH (PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', PROPERTY_INT_ID = 2,
    	PROPERTY_DESCRIPTION = 'System.Title = Title of the item' );
    GO
    
    ALTER SEARCH PROPERTY LIST DocumentPropertiesTest
    ADD 'Tags'
    WITH (PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', PROPERTY_INT_ID = 5,
    	PROPERTY_DESCRIPTION = 'System.Keywords = Keywords (tags) of the item' );
    GO
    
    ALTER SEARCH PROPERTY LIST DocumentPropertiesTest
    ADD 'Author'
    WITH (PROPERTY_SET_GUID = 'F29F85E0-4FF9-1068-AB91-08002B27B3D9', PROPERTY_INT_ID = 4,
    	PROPERTY_DESCRIPTION = 'System.Author = Author of the item' );
    GO
    
    
    
    
    CREATE FULLTEXT INDEX ON FileSearchTest..DocumentSemantics
    	(file_stream
    	TYPE COLUMN file_type
    	LANGUAGE 1033 statistical_semantics)	
    	KEY INDEX DocumentsFt ON Test1
    	WITH SEARCH PROPERTY LIST = DocumentPropertiesTest
    GO
    Vielen Dank für deine Hilfe!

    Mittwoch, 4. April 2018 11:41
  • Hallo!

    Wenn ich die Doku richtig lese, musst Du auch noch die Eigenschaft System.FullText aufnehmen.

    Suchen von Dokumenteigenschaften mithilfe von Sucheigenschaftenlisten

    Suchen von Eigenschaftensatz-GUIDS und ganzzahligen Eigenschaft-IDs für Sucheigenschaften

    System-Defined Properties for Custom File Formats

    HTH!


    Einen schönen Tag noch, Christoph -- Data Platform MVP - http://www.insidesql.org/blogs/cmu

    Mittwoch, 4. April 2018 12:02
  • Hallo Christoph,

    du meinst in die Search Property List? Ich finde nämlich hierzu keine GUID.

    Viele Grüße!

    Donnerstag, 5. April 2018 10:51
  • Hallo,

    um im Text zu suchen, benötigst du meines Erachtens keine Search Property List. Schau dir einmal das Beispiel von Daniel Calbimonte bei mssqltips.com an.

    Grüße Volker

    Donnerstag, 5. April 2018 11:53
  • Danke, ich hatte das Beispiel auch schon gesehen. Ich brauche allerdings eine semantische Suche und keine Volltextsuche, d.h. ich möchte wissen worum es im Dokument geht, nicht nach bestimmten Keywords suchen. Das Programm aus meinem ersten Post gibt mir auch Keywords aus, jedoch nur aus dem Dokumententitel, und nicht aus dem Dokument.
    Freitag, 6. April 2018 08:20