2017-01-15 9 views
1

Мне нужно запросить данные JSON, хранящиеся в хранилище Azure blob, для операций фильтрации (по типам данных, данных и int), подкачки (то есть функциональность, похожую на пропустить и принять) ,Запрос хранилища JSON Blob с помощью лазурного поиска

Проблема в моей структуре JSON заключается в том, что нет конкретного формата данных JSON (пара ключей/значений) и является динамическим. Следовательно, пара ключей/значений данных одного JSOn может отличаться от других данных результата JSOn.

Может ли Azure найти помощь в построении индексов на таких динамических данных JSOn, чтобы можно было запросить то же самое или есть другой предпочтительный способ?

+0

Blob хранение для .. хорошо, хранение ... не так много для запросов. Для этого лучше используйте DocumentDB. –

+0

Спасибо за ответ Питер. Я понимаю, что ваша точка зрения, однако, хотела использовать поисковые службы, предоставляемые поиском Azure, чтобы получить функциональность. Я понимаю его выполнимость через DocumentDB. Но знаете ли вы, если службы поиска Azure работают с динамическими данными JSOn? – puneet

+0

Честно говоря, я этого не делаю. У нас также есть много json-документов в блобе, но мы анализируем Azure Data Lake Analytics (см. Https://azure.microsoft.com/en-us/services/data-lake-analytics/), поскольку вы можете читать из хранилища blob напрямую. Но операции, которые вы упоминаете как фильтрация и пейджинг, являются типичными сценариями базы данных. Поэтому моя рекомендация взглянуть на DocumentDB как на решение NoSQL. –

ответ

0

Посмотрите на это https://docs.microsoft.com/en-us/azure/search/search-howto-index-json-blobs, может быть, это может вам помочь.

Другим вариантом может быть экспорт json из хранилища blob в базу данных Azure SQL или DocumentDB (возможно, не все - если вы можете экспортировать только часть необходимых данных) и запросить его там.

+0

Thank You, похоже, что DocumentDb будет лучше служить в качестве опции – puneet

0

Если вам нужна только фильтрация, как точные совпадения и численные сравнения, тогда база данных документов, такая как DocumentDB, может быть лучшим выбором, чем Azure Search.

Azure Поиск первенствует в языковом осознают полнотекстовой поиск (в том числе таких вещей, как дело с формами изменяемых слов, орфографические, нечетким соответствием и т.д.)

Как Йован отметил, что варианты не являются взаимоисключающими - вы можете использовать DocumentDB в качестве основного хранилища и Azure. Поиск сценариев полнотекстового поиска (получение данных из DocumentDB с использованием DocumentDB indexer, если необходимо).

+0

Thank You, похоже, что DocumentDb будет лучше служить в качестве опции – puneet