[sql server 2005] Fulltext search по нескольким таблицам
От: Ахмед  
Дата: 06.07.09 06:48
Оценка:
Нужно сделать полнотекстовой поиск по нескольким полям нескольких таблиц. Проблема в том, что при этом нужно выставить ранг релевантности найденной информации, так как будто поиск ведется по одному большому текстовому полю. То есть, например есть таблицы

Brand:
id int,
Name varchar(255)

и

Model:
id int,
Name varchar(255),
BrandId int

Если в такой структуре лежат 3 записи: (ВАЗ 2101, ВАЗ 2106, ТАЗ 2101) — при поиске строки ВАЗ 2101 — запись содержащая ВАЗ 2101 должна получить наивысший ранг.

Сейчас пока рассматриваем 2 варианта. Первый — indexed view — в котором будут склеиваться все текстовые поля, участвующие в поиске. Второй — на уровне бизнес логики лепить текстовое поле и писать в отдельную таблицу, на которую и натравливать поиск. По первому варианту у коллег есть подозрение что вьюшка создаст проблемы с производительностью. По второму — мне не нравится что будут дублироваться данные + лишняя нагрузка на сеть при пересылке этих дублированных данных. Просьба, тех кто решал подобную задачу — помочь найти оптимальное решение.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.