Udostępnij za pośrednictwem


Implementowanie wyszukiwania pełnotekstowego

Wyszukiwanie pełnego tekstu jest dostępne dla wystąpienie SQL Server i jest reprezentowana w SMO przez FullTextService obiektu.FullTextService w obszarze znajduje się obiekt Server obiektu.Jest używana do zarządzania opcje konfiguracja dla Microsoft usługa przeszukiwania pełnego tekstu.FullTextCatalogCollection Obiekt należy do Database i obiekt jest kolekcja z FullTextCatalog obiektów, które reprezentują wykazów pełnotekstowe zdefiniowane dla bazy danych.Może mieć tylko jeden indeks pełnotekstowy określonych dla każdej tabela, w odróżnieniu od normalnych indeksy.To jest reprezentowana przez FullTextIndexColumn obiekt w Table obiektu.

Aby utworzyć usługa przeszukiwanie pełnego tekstu, musi mieć wykaz pełnotekstowy zdefiniowane w bazie danych i indeksu przeszukiwanie pełnego tekstu zdefiniowane w jednej z tabel w bazie danych.

Najpierw utwórz wykaz pełnotekstowy bazy danych przez wywołanie FullTextCatalog konstruktora i określając nazwę katalogu.Następnie utwórz indeks pełnotekstowy wywołanie konstruktora i określając tabela, w którym ma być utworzony.Następnie można dodać kolumna indeksu pełnotekstowego indeksu za pomocą FullTextIndexColumn obiektu i podając nazwę kolumna w tabela.Następnie zestaw CatalogName właściwość w wykazie zostały utworzone.Wreszcie, call Create metoda i tworzenie indeksu pełnotekstowego na wystąpienie z SQL Server.

Przykład

Aby używać dostarczonych przykładów kodu źródłowego, należy wybrać środowisko, szablon oraz język programowania, które będą używane do tworzenia aplikacji.Aby uzyskać więcej informacji, zobacz Jak Tworzenie projektu SMO Visual Basic w programie Visual Studio.NET lub Jak Tworzenie projektu programu Visual C# SMO w programie Visual Studio.NET.

Tworzenie usługi wyszukiwania pełnotekstowego w języku Visual Basic

Ten przykładowy kod tworzy katalog przeszukiwanie pełnego tekstu dla ProductCategory tabela w AdventureWorks2008R2 przykładowej bazy danych.Następnie tworzy indeks przeszukiwanie pełnego tekstu kolumna Nazwa w ProductCategory tabela.Indeks przeszukiwanie pełnego tekstu wymaga, jest już zdefiniowane kolumna indeks unikatowy.

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Reference the AdventureWorks2008R2 database.
Dim db As Database
db = srv.Databases("AdventureWorks2008R2")
'Reference the ProductCategory table.
Dim tb As Table
tb = db.Tables("ProductCategory", "Production")
'Define a FullTextCatalog object variable by specifying the parent database and name arguments in the constructor.
Dim ftc As FullTextCatalog
ftc = New FullTextCatalog(db, "Test_Catalog")
ftc.IsDefault = True
'Create the Full Text Search catalog on the instance of SQL Server.
ftc.Create()
'Define a FullTextIndex object varaible by supplying the parent table argument in the constructor.
Dim fti As FullTextIndex
fti = New FullTextIndex(tb)
'Define a FullTextIndexColumn object variable by supplying the parent index and column name arguements in the constructor.
Dim ftic As FullTextIndexColumn
ftic = New FullTextIndexColumn(fti, "Name")
'Add the indexed column to the index.
fti.IndexedColumns.Add(ftic)
fti.ChangeTracking = ChangeTracking.Automatic
'Specify the unique index on the table that is required by the Full Text Search index.
fti.UniqueIndexName = "AK_ProductCategory_Name"
'Specify the catalog associated with the index.
fti.CatalogName = "Test_Catalog"
'Create the Full Text Search index on the instance of SQL Server.
fti.Create()

Tworzenie usługi wyszukiwania pełnotekstowego w środowisku Visual C#

Ten przykładowy kod tworzy katalog przeszukiwanie pełnego tekstu dla ProductCategory tabela w AdventureWorks2008R2 przykładowej bazy danych.Następnie tworzy indeks przeszukiwanie pełnego tekstu kolumna Nazwa w ProductCategory tabela.Indeks przeszukiwanie pełnego tekstu wymaga, jest już zdefiniowane kolumna indeks unikatowy.

{
            //Connect to the local, default instance of SQL Server. 
            Server srv;
            srv = new Server();
            //Reference the AdventureWorks2008R2 database. 
            Database db;
            db = srv.Databases["AdventureWorks2008R2"];
            //Reference the ProductCategory table. 
            Table tb;
            tb = db.Tables["ProductCategory", "Production"];
            //Define a FullTextCatalog object variable by specifying 
            //the parent database and name arguments in the constructor. 
            FullTextCatalog ftc;
            ftc = new FullTextCatalog(db, "Test_Catalog");
            ftc.IsDefault = true;
            //Create the Full-Text Search catalog on the instance of SQL Server. 
            ftc.Create();
            //Define a FullTextIndex object variable by supplying the 
            //parent table argument in the constructor. 
            FullTextIndex fti;
            fti = new FullTextIndex(tb);
            //Define a FullTextIndexColumn object variable by supplying 
            //the parent index and column name arguements in the constructor. 
            FullTextIndexColumn ftic ;
            ftic = new FullTextIndexColumn(fti, "Name");
            //Add the indexed column to the index. 
            fti.IndexedColumns.Add(ftic);
            fti.ChangeTracking = ChangeTracking.Automatic;
            //Specify the unique index on the table that is required by 
            //the Full Text Search index. 
            fti.UniqueIndexName = "AK_ProductCategory_Name";
            //Specify the catalog associated with the index. 
            fti.CatalogName = "Test_Catalog";
            //Create the Full Text Search index on the instance of SQL Server. 
            fti.Create();
        }

Tworzenie usługi wyszukiwania pełnotekstowego w PowerShell

Ten przykładowy kod tworzy katalog przeszukiwanie pełnego tekstu dla ProductCategory tabela w AdventureWorks2008R2 przykładowej bazy danych.Następnie tworzy indeks przeszukiwanie pełnego tekstu kolumna Nazwa w ProductCategory tabela.Indeks przeszukiwanie pełnego tekstu wymaga, jest już zdefiniowane kolumna indeks unikatowy.

# Example of implementing a full text search on the default instance.
# Set the path context to the local, default instance of SQL Server and database tables

CD \sql\localhost\default\databases
$db = get-item AdventureWorks2008R2

CD AdventureWorks\tables

#Get a reference to the table
$tb = get-item Production.ProductCategory


# Define a FullTextCatalog object variable by specifying the parent database and name arguments in the constructor.

$ftc = New-Object -TypeName Microsoft.SqlServer.Management.SMO.FullTextCatalog -argumentlist $db, "Test_Catalog2"
$ftc.IsDefault = $true

# Create the Full Text Search catalog on the instance of SQL Server.
$ftc.Create()

# Define a FullTextIndex object variable by supplying the parent table argument in the constructor.
$fti = New-Object -TypeName Microsoft.SqlServer.Management.SMO.FullTextIndex -argumentlist $tb

#  Define a FullTextIndexColumn object variable by supplying the parent index 
#  and column name arguments in the constructor.

$ftic = New-Object -TypeName Microsoft.SqlServer.Management.SMO.FullTextIndexColumn -argumentlist $fti, "Name"

# Add the indexed column to the index.
$fti.IndexedColumns.Add($ftic)

# Set change tracking
$fti.ChangeTracking = [Microsoft.SqlServer.Management.SMO.ChangeTracking]::Automatic

# Specify the unique index on the table that is required by the Full Text Search index.
$fti.UniqueIndexName = "AK_ProductCategory_Name"

# Specify the catalog associated with the index.
$fti.CatalogName = "Test_Catalog2"

# Create the Full Text Search Index
$fti.Create()