2017-02-06 29 views
0

Мне нужно включить полный текст & фасетный поиск услуги, которая хранит данные каждого клиента в отдельной базе данных Azure SQL. Каждая база данных, в свою очередь, хранит данные нескольких проектов клиентов. Каждая база данных может содержать n количество проектов. Доступ к данным каждого клиента осуществляется как изолированный репозиторий данных. Поэтому мне нужно, чтобы поиск и грани были ограничены данными каждого проекта. Поскольку поиск Azure поддерживает конечное число индексов, я не уверен, как наилучшим образом использовать его в моем сценарии? Более того, данные, доступные для поиска в проектах, будут иметь различный набор информации, которую нужно искать. Поэтому столбцы в индексе будут варьироваться от проекта к проекту в каждой базе данных.Azure Поиск по нескольким индексам

Как лучше всего решить эту проблему с помощью поиска в Azure?

ответ

0

Посмотрите на Design patterns for multitenant SaaS applications and Azure Search. В частности, в некоторых случаях вы можете использовать индекс для арендаторов и использовать фильтры для изоляции данных - см. this section. Недостатком этого подхода является то, что совместное использование данных между арендаторами может повлиять на релевантность поиска (так как частота частоты/частота документа ограничена индексом), но во многих сценариях это приемлемо.