The only book on the market to fully cover SQL Server 2008’s Full-Text Search, a feature becoming increasingly important in the face of the growing need to manage large volumes of XML, PDF, and other free-format, digital data. Full-Text Search is so important, that one Microsoft Product Manager refers to it as “the largest and most challenging improvement” in SQL Server 2008. Hillary Cotter and Michael Coles’ book will be the go-to book for developers wishing to take advance of this increasingly key feature in SQL Server.
Author(s): Hilary Cotter, Michael Coles
Edition: 1
Year: 2008
Language: English
Pages: 298
1430215941......Page 1
Contents......Page 6
About the Authors......Page 12
About the Technical Reviewer......Page 13
Acknowledgments......Page 14
Introduction......Page 15
Welcome to Full-Text Search......Page 20
History of SQL Server FTS......Page 23
Goals of Search......Page 25
Mechanics of Search......Page 27
iFTS Architecture......Page 28
Query Process......Page 30
Search Quality......Page 31
Measuring Quality......Page 32
Synonymy and Polysemy......Page 34
Summary......Page 35
Initial Setup and Configuration......Page 37
The New Full-Text Catalog Wizard......Page 39
The CREATE FULLTEXT CATALOG Statement......Page 41
Upgrading Full-Text Catalogs......Page 42
The Full-Text Indexing Wizard......Page 43
The CREATE FULLTEXT INDEX Statement......Page 51
Full Population......Page 53
Incremental Population......Page 54
Catalog Rebuild and Reorganization......Page 55
Scheduling Populations......Page 56
Backups......Page 57
Logs......Page 58
SQL Profiler Events......Page 59
System Procedures......Page 60
Summary......Page 61
iFTS Predicates and Functions......Page 62
FREETEXT and FREETEXTTABLE......Page 64
Adding a Language Specification......Page 68
Returning the Top N by RANK......Page 73
CONTAINS......Page 75
Phrase Searches......Page 76
Boolean Searches......Page 77
Prefix Searches......Page 80
Generational Searches......Page 81
Proximity Searches......Page 82
Weighted Searches......Page 84
CONTAINSTABLE Searche......Page 86
Column Rank-Multiplier Searches......Page 88
Taxonomy Search and Text Mining......Page 90
Summary......Page 91
The Procedure......Page 92
Calling the Procedure......Page 99
Search Engine–Style Search......Page 101
Defining a Grammar......Page 102
Extended Backus-Naur Form......Page 104
Implementing the Grammar with Irony......Page 105
Generating the iFTS Query......Page 108
Querying with the New Grammar......Page 111
Summary......Page 113
CHAPTER 5: Multilingual Searching......Page 115
A Brief History of Written Language......Page 116
iFTS and Language Complexity......Page 117
Writing Symbols and Alphabets......Page 118
Bidirectional Writing and Capitalization......Page 119
Hyphenation and Compound Words......Page 120
Token Position Context......Page 121
Gender......Page 122
Storing Multilingual Data......Page 123
Storing XML......Page 124
Storing HTML Documents......Page 127
Designing Tables to Store Multilingual Content......Page 128
Summary......Page 134
CHAPTER 6: Indexing BLOBs......Page 135
Character LOB Data......Page 136
XML LOB Data......Page 138
Binary LOB Data......Page 143
Efficiency Advantages......Page 146
FILESTREAM Requirements......Page 148
T-SQL Access......Page 151
Storage Considerations......Page 153
OpenSqlFilestream API......Page 155
Summary......Page 160
System Stoplists......Page 161
Creating Custom Stoplists......Page 163
Managing Stoplists......Page 166
Upgrading Noise Word Lists to Stoplists......Page 173
Stoplists and Indexing......Page 177
Stoplists and Queries......Page 178
Summary......Page 180
Thesaurus Files......Page 181
Editing and Loading Thesaurus Files......Page 183
Expansion Sets......Page 189
Replacement Sets......Page 191
Global and Local Thesauruses......Page 192
A Practical Example......Page 193
Translation......Page 195
Accent and Case Sensitivity......Page 196
Nonrecursion......Page 197
Stoplists......Page 198
Summary......Page 199
iFTS and Transparency......Page 200
Looking Inside the Full-Text Index......Page 201
Parsing Text......Page 203
Accessing Full-Text Index Entries......Page 204
Retrieving Population Information......Page 206
Services and Memory Usage......Page 210
Listing Full-Text Catalogs......Page 212
Retrieving Full-Text Index Metadata......Page 213
Revealing Stoplists......Page 217
Viewing Supported Languages and Document Types......Page 219
Summary......Page 220
Standard Filters......Page 221
Third-Party Filters......Page 222
Custom Filters......Page 223
Custom Filter Development......Page 224
Filter Interfaces......Page 225
Custom Filter Design......Page 228
Filter Class Factory......Page 229
Filter Class......Page 234
Compiling and Installing the Filter......Page 243
Testing the Filter......Page 246
Gatherer and Protocol Handler......Page 249
Word Breakers and Stemmers......Page 250
Summary......Page 251
Spelling Suggestion and Correction......Page 252
Hamming Distance......Page 253
Spelling Suggestion Implementation......Page 254
Name Searching......Page 256
Soundex......Page 257
NYSIIS......Page 258
Longest Common Subsequence......Page 260
Edit Distance......Page 262
N-Grams......Page 263
Summary......Page 269
APPENDIX A: Glossary......Page 270
APPENDIX B: iFTS–Books......Page 277
Installing the Sample Database......Page 279
Sample Code......Page 280
Documents As Vectors......Page 281
B......Page 286
C......Page 287
D......Page 288
F......Page 289
I......Page 290
K......Page 291
M......Page 292
P......Page 293
S......Page 294
T......Page 296
W......Page 297
X......Page 298