SQL Server 2008 - Полнотекстовый поиск по нескольким таблицам с «+ (и)», «- (и не)» и «пробел (или)» - PullRequest
1 голос
/ 10 декабря 2010

мы реализуем полнотекстовый поиск в нашем проекте.Это как функция поиска в Google для поиска записей по нескольким таблицам.Наша база данных имеет такую ​​структуру, как у нас

Person PersonID FirstName LastName Дата рождения

PersonAddress AddressID PersonID Address1 Address2 Address2

PersonPhoneNo PhoneID PersonID PhoneNo

Таблица Person имеет отношение один-ко-многим с PersonAddress и PersonPhoneNo.Теперь наша проблема в том, что мы хотим искать как 'xyz + new york'.И полнотекстовый поиск относится к этому как к лицу xyz, находящемуся в Нью-Йорке, или к человеку по имени xyz и фамилия - Нью-Йорк, или к человеку по адресу xyz и телефон - Нью-Йорк.Для этого мы идентифицируем один подход.

Для этого мы должны создать обработанные столбцы, имеющие комбинацию «Имя + Адрес1 + Адрес2 + Номер телефона».И нужно добавить этот вычисляемый столбец полнотекстового поиска в каталог.Мы сделали один вид, используя соединение трех столбцов выше.и добавьте этот столбец представления в каталог полнотекстового поиска.

Но опять же проблема заключается в том, что представление не может поддерживать внешнее объединение, если мы создадим для него полнотекстовый индекс.

Ответы [ 2 ]

1 голос
/ 11 марта 2011

мы придумали это решение: Мы создали одну таблицу репозитория и вставили данные, используя механизм запуска, и создали вычисляемые столбцы для этой таблицы, которые объединяли все столбцы. Затем мы создали полнотекстовый индекс для этих столбцов. так что эта работа работает хорошо для нас. Просто вам нужно найти соответствующий механизм запуска в соответствии с вашим приложением и нормализованной базой данных.

0 голосов
/ 10 декабря 2010

Я бы использовал Lucene в качестве полнотекстового движка для этого. Вы можете легко хранить несколько полей в одном lucene-документе, что позволяет выполнять поиск, например "xyz city: london".

Требуется ли вам использовать решение чисто mssql? Попробуйте создать индексированные представления, к которым вы применяете свой полнотекстовый индекс.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...