Ich führe Semantikanalyse auf 1000 Dokumenten durch. Ich möchte die Top 5 Spiele für jeden der Doc. Hier geht die Abfrage, die ich verwende;SQL Semanticsimilaritytable für mehrere Übereinstimmungen
DECLARE @FTE hierarchyid
SELECT @FTE = path_locator
from dbo.LatinBooks
Select top (5)
e.name
,d.name as MatchedFTE
,KEY_TBL.score
FROM SEMANTICSIMILARITYTABLE
(dbo.LatinBooks,
file_stream,
@FTE) as KEY_TBL
INNER JOIN dbo.LatinBooks d on KEY_TBL.matched_document_key= d.path_locator
left Join (select path_locator,name from dbo.LatinBooks) e on @fte=e.path_locator
Order by Key_tbl.score DESC;
Diese Abfrage funktioniert, es gibt die besten Übereinstimmungen für das erste Dokument zurück. Welche Änderungen kann ich an dem Skript vornehmen, damit die Übereinstimmungen für alle 1000 Dokumente zurückgegeben werden? Die Ergebnisse zeigen 5.000 Zeilen (One Doc und Fünf Spiele)
Als ich das Skript ausführen, wie Sie es geschickt, fragt er die ‚@FTE‘ zu erklären. Wenn '@FTE' deklariert wird, wird NUR die oberste (5) für das erste Dokument zurückgegeben. Ich brauche Spiele für alle Dokumente – Gjorge
@Gjorge. . . Sie haben '@ FTE' in Ihrer ursprünglichen Abfrage. –
Ja, ich habe @fte in der ursprünglichen Abfrage – Gjorge