Ograniczanie USZEREGOWANY zestawy wyników (wyszukiwanie)
The CONTAINSTABLE and FREETEXTTABLE functions return a kolumna named RANK that contains ordinal values from 0 through 1000 (rank values).Wartości te są używane do rangi wierszy zwracanych zgodnie z jak one zgodne z kryteriami wyboru.Pozycja wartości oznaczają względna kolejność znaczenie dla wierszy zestaw wyników o niższej wartości wskazujące istotności niższe.Wartości rzeczywiste nie są ważne i zazwyczaj różnią się przy każdym uruchomieniu kwerendy.
Uwaga
Predykaty CONTAINS i FREETEXT nie zwracają żadnych wartości rangi.
Liczba elementów spełniających warunek wyszukiwania jest często bardzo duże.To prevent CONTAINSTABLE or FREETEXTTABLE queries from returning too many matches, use the optional top_n_by_rank parameter, which returns only a subset of rows.top_n_by_rank is an integer value, n, that specifies that only the n highest ranked matches are to be returned, in descending order.Jeśli top_n_by_rank zostanie połączona z innymi parametrami, kwerenda może zwrócić mniej wierszy niż liczba wierszy spełniających rzeczywiście wszystkie predykatów.
SQL Server Porządkuje dopasowania przez pozycję i powraca do określonej liczby wierszy.Zaznaczenie tej opcji może spowodować znaczący wzrost wydajności.Na przykład kwerendę, która normalnie zwróciłby 100 000 wierszy z tabela miliona wierszy są przetwarzane szybciej, jeśli tylko wymagane są górne 100 wierszy.
Uwaga
Aby uzyskać informacje dotyczące sposobu wyszukiwania pełnotekstowego generuje rangi wartości, zobacz How Search Query Results Are Ranked (Full-Text Search).
Przykład
on error Wyszukiwanie tylko u góry trzy odpowiada
W poniższym przykładzie użyto CONTAINSTABLE zwraca górną trzy dopasowania.
USE Northwind;
GO
SELECT K.RANK, CompanyName, ContactName, Address
FROM Customers AS C
INNER JOIN
CONTAINSTABLE(Customers,Address, 'ISABOUT ("des*",
Rue WEIGHT(0.5),
Bouchers WEIGHT(0.9))', 3) AS K
ON C.CustomerID = K.[KEY];
GO
Here is the result set.
RANK CompanyName ContactName address
---- ------------ ----------- -------
123 Bon app' Laurence Lebihan 12, rue des Bouchers
65 Du monde entier Janine Labrune 67, rue des Cinquante Otages
15 France restauration Carine Schmitt 54, rue Royale
Retrieving the file id of a specified file Wyszukiwanie góry dziesięć odpowiada
W poniższym przykładzie użyto CONTAINSTABLE zwraca nazwę opis i kategoria kategorie żywności 10 najlepszych gdzie Descriptionkolumna zawiera wyrazy "słodka i savory" u "sosy" lub słowo „ candies. „
SELECT FT_TBL.Description,
FT_TBL.CategoryName,
KEY_TBL.RANK
FROM Categories AS FT_TBL INNER JOIN
CONTAINSTABLE (Categories, Description,
'("sweet and savory" NEAR sauces) OR
("sweet and savory" NEAR candies)'
, 10
) AS KEY_TBL
ON FT_TBL.CategoryID = KEY_TBL.[KEY];
GO
W tej sekcji
- How Search Query Results Are Ranked (Full-Text Search)
W tym artykule opisano sposób wyszukiwania pełnotekstowego generuje rangi wartości zwracane przez kwerendy, włącznie z najczęściej używanych warunków i wartości statystyczne, które są ważne przy obliczaniu ranga, zagadnienia rangi obliczeń i klasyfikację CONTAINSTABLE i FREETEXTTABLE wyniki funkcji.