Документация по Azure Search говорит, что я могу использовать сервер Azure Sql в качестве источника данных (https://azure.microsoft.com/en-us/documentation/articles/search-howto-connecting-azure-sql-database-to-azure-search-using-indexers-2015-02-28/). Могу ли я сделать то же самое с локальным SQL-сервером?Azure Search DataSource с локальным SQL Server и лучшими практиками?
У меня есть типичная реляционная структура, как
User Table -> Address Table Таблица
пользователя -> UserDetails стол
и т.д ..
Все связаны друг с другом с помощью внешних ключей. Мой поиск должен заканчиваться на UserId, поэтому я могу ссылаться на свой UserDetailsPage.aspx? UserId = xxx
Каким будет лучший предложенный способ создания источника данных? Должен ли я создать представление и применить отслеживание изменений на нем? или Должен ли я создать другой источник данных для каждой таблицы и синхронизировать соответствующий индекс?
Просьба пролить свет на лучшие практики в типичном сценарии реляционных баз данных.
Thanks Eugene. Да, мы хотим искать на обоих. У некоторых таблиц нет обновленных временных меток. Является ли строка Version тем, что SQL Server автоматически генерирует и обновляет на chages? –
Да, если вы добавите столбец с типом данных rowversion, SQL Server будет автоматически обновлять его каждый раз, когда вы обновляете строку. Однако, если вы настроили два источника данных/индексаторы (один для таблицы адресов, один для таблицы UserDetails), которые оба записывают в один индекс поиска, вы все равно можете полагаться на интегрированное отслеживание изменений SQL. Когда индексщик вставляет документ в индекс, он использует операцию слияния, что означает, что вы можете выполнять частичные обновления документов. Сначала попробуйте этот подход, так как он не требует каких-либо изменений в вашей схеме таблиц или создания дополнительных представлений. –
Могу ли я настроить отслеживание изменений во всех таблицах, которые синхронизируют и используют разные источники данных для каждой таблицы, чтобы обновить столбец отдельно? –