Нужно сделать полнотекстовой поиск по нескольким полям нескольких таблиц. Проблема в том, что при этом нужно выставить ранг релевантности найденной информации, так как будто поиск ведется по одному большому текстовому полю. То есть, например есть таблицы
Brand:
id int,
Name varchar(255)
и
Model:
id int,
Name varchar(255),
BrandId int
Если в такой структуре лежат 3 записи: (ВАЗ 2101, ВАЗ 2106, ТАЗ 2101) — при поиске строки ВАЗ 2101 — запись содержащая ВАЗ 2101 должна получить наивысший ранг.
Сейчас пока рассматриваем 2 варианта. Первый — indexed view — в котором будут склеиваться все текстовые поля, участвующие в поиске. Второй — на уровне бизнес логики лепить текстовое поле и писать в отдельную таблицу, на которую и натравливать поиск. По первому варианту у коллег есть подозрение что вьюшка создаст проблемы с производительностью. По второму — мне не нравится что будут дублироваться данные + лишняя нагрузка на сеть при пересылке этих дублированных данных. Просьба, тех кто решал подобную задачу — помочь найти оптимальное решение.