简体   繁体   中英

Full-Text Index Design Considerations (SQL Server 2008)

My website has a requirement that the user can search a number of different tables and columns. So I'm working to implement this using full-text search.

I'd like to get some input from someone with more FTS experience on the following issues.

  1. While FTS allows you to search multiple columns from the same table in a single search, I'm not seeing an option to search multiple columns from multiple tables in a single search. Is this in fact the case?

  2. If I need multiple searches to search across multiple tables, does it make sense to put the index for each table in a different full-text catalog? The wizards seem to recommend a new catalog for larger tables, but I have no idea what "large" means in this case.

  3. Finally, is there any want to order the results such that matches in one column of a table come before matches in another column?

1.While FTS allows you to search multiple columns from the same table in a single search, I'm not seeing an option to search multiple columns from multiple tables in a single search. Is this in fact the case?

A FTIndex on a single table cannot include columns from another table. So typically, you'd just have to write your query so that its making multiple searches (you alluded to this in #2).

Another option, would be to create an Indexed View ( see requirements ) that spans multiple tables and then build a FTIndex on top of the view. I believe this is possible, but you should test for certainty.

2.If I need multiple searches to search across multiple tables, does it make sense to put the index for each table in a different full-text catalog? The wizards seem to recommend a new catalog for larger tables, but I have no idea what "large" means in this case.

shouldn't make a difference in SQL2008 since the catalog is just a logical grouping. You might, however, consider putting the FTIndexes on different filegroups if you have a disk-sub-system that makes sense (similar considerations to partitioning tables across filegroups on different disks...to spread the IO).

3.Finally, is there any want to order the results such that matches in one column of a table come before matches in another column? I don't believe this is possible...

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM