You are on page 1of 13

Module 8: Querying

Full-Text Indexes
Overview

 Introduction to Microsoft Search


Service
 Microsoft Search Service Components
 Getting Information About Full-Text
Indexes
 Writing Full-Text Queries
Introduction to Microsoft Search
Service

 Provides Text-based Searches in SQL


Server
 Complex searches on unstructured text
data for words and phrases
 More powerful than LIKE operator and
wildcards
 Available in Other Microsoft Products
 Indexing Service, Exchange 2000,
Commerce Server
Microsoft Search Service
Components

 Search Service Structures


 Full-text index
Keeps track of significant words used in
a table
Requires unique key column or primary
key
 Full-text catalog
Is a collection of full-text indexes
 Microsoft Search Service Functions
 Indexing
 Querying
Getting Information About Full-Text
Indexes

 Using System Stored Procedures


 sp_help_fulltext_catalogs
 sp_help_fulltext_tables
 sp_help_fulltext_columns
 Using Transact-SQL Functions
 Use Transact-SQL functions to obtain
information about full-text properties
USE northwind
SELECT
DATABASEPROPERTY('Northwind','IsFullTextEnabled')
GO
 Writing Full-Text Queries

 CONTAINS Predicate
 FREETEXT Predicate
 CONTAINSTABLE and FREETEXTTABLE
Functions
 Using Full-Text Keywords
CONTAINS Predicate

 Inflectional Form of a Specific Word


 Word or Phrase Beginning with
Specific Text
 Word or Phrase near Another Word or
Phrase
 One or More Specific Words and
Phrases Example 1
SELECT plant_id, common_name, price
 Words
FROM plants or Phrases with Weighted
WHERE CONTAINS( *, ' "English Thyme" ' )
Values
GO
FREETEXT Predicate

 Searches on Words, Phrases, and


Sentences Extracted from Initial Query
 Less Precise Than the CONTAINS
Predicate
SELECT *
FROM news_table
WHERE FREETEXT( description,
'"The Fulton County Grand Jury said Friday an
investigation of Atlanta‘s recent primary
election produced no evidence that any
irregularities took place."')
GO
CONTAINSTABLE and
FREETEXTTABLE Functions

 Using CONTAINSTABLE and


FREETEXTTABLE
 Return a table
 Return column that contains full-text key
values
 top_n_by_rank argument
 Choosing Which Search Condition or
Function to Use
 Use the CONTAINS and FREETEXT
predicates in any search condition
 Use the CONTAINSTABLE and
Using Full-Text Keywords

USE northwind CONTAINS and FREETEXT Predicates


SELECT Description
FROM Categories
WHERE CategoryName <> 'Seafood‘
AND CONTAINS(Description, ' sauces AND seasonings ')
GO

CONTAINS Within a Subquery


USE pubs
SELECT T.title, P.pub_name
FROM publishers AS P
INNER JOIN titles AS T ON P.pub_id = I.pub_id
WHERE P.pub_id = (SELECT pub_id FROM pub_info WHERE CONTAINS
(pr_info, ' moonbeam AND ontario AND "flying saucer" '))
GO
Recommended Practices

Use Full-Text Indexes on CHAR, NCHAR, VARCHAR,


NVARCHAR, TEXT, NTEXT and IMAGE Data Types

se the Full-Text Index and Catalog Properties for Troublesh

Use the top_n_by_rank Argument to Restrict Result Set S


Lab A: Querying Full-Text Indexes
Review

 Introduction to Microsoft Search


Service
 Microsoft Search Service Components
 Getting Information About Full-Text
Indexes
 Writing Full-Text Queries

You might also like