Udostępnij za pośrednictwem


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.