Здесь можно рассмотреть несколько возможных вещей.
Нужно ли шифровать данные в покое с помощью указанного ключа клиента в поисковом индексе? Если так, то документ, которым вы поделились, будет лучшим способом сделать это. Это будет означать, что вам понадобится способ сохранить указанные пользователем ключи c в KeyVault, а затем ссылаться на этот ключ для Azure индекса когнитивного поиска (так что вам понадобится индекс для каждого клиента, но можно будет использовать одну службу поиска в целом при условии, что вы не go превышаете ограничения на уровень обслуживания, который вы используете ). Если его не нужно шифровать с помощью ключа клиента в поисковом индексе, а управляемое системой шифрование в порядке, вам это не нужно.
Независимо от ответа на этот вопрос, пытаетесь ли вы использовать индексаторы для индексации данных и хотите использовать предоставленное извлечение json? Если вы хотите использовать индексаторы и предоставленную опцию извлечения json, у нас есть умение предварительного просмотра, которое вы можете использовать, чтобы разрешить это. Шаги будут выглядеть примерно так:
- В вашем определении индексатора вам нужно будет установить две вещи (обе задокументированы здесь ):
"allowSkillsetToReadFileData": true
- Эта опция позволит нам ссылаться на зашифрованный большой двоичный объект в наборе навыков.
"dataToExtract": "allMetadata"
- Эта опция позволит вам обойти обычные извлечение содержимого -skillset, которое в противном случае завершится ошибкой, пока данные все еще зашифрованы.
- Создайте набор навыков для индексатора, определенного в # 1, который имеет по крайней мере следующее два навыка (вы можете добавить больше после того, как захотите любую другую функциональность набора навыков):
- Пользовательский навык веб-API , который принимает в качестве входных данных объект
"/document/file_data"
, расшифровывает файл с помощью выполнить какой-то внешний поиск ключа клиента для этого документа, а затем возвращает дешифрованные данные в качестве ссылочного объекта файла. - DocumentExtractionSkill (предварительный просмотр), который принимает файл r eference объект, который был возвращен из пользовательского навыка, с
"parsingMode"
, установленным на "json"
. - Это проанализирует теперь расшифрованный файл JSON, аналогично тому, как он был бы проанализирован, если бы он был дешифрован в исходном хранилище больших двоичных объектов и если вы использовали опцию
dataToExtract
по умолчанию. - Обратите внимание, что в документации очень специфический c формат ввода требуется для этого навыка, поэтому вам нужно убедиться, что это именно то, что возвращается из вашего определенного пользователем навыка в 2a.
Это немного сложный подход, но DocumentExtractionSkill на самом деле был разработан именно с учетом сценария, который вы описываете, поэтому мы хотели бы услышать отзывы о нем, если он работает у вас или нет.
Если вас не интересует использование индексаторов, вы всегда можете написать рабочий процесс, который сам загружает файл, расшифровывает и анализирует его, а затем отправляет его в Azure Cognitive Search. индекс, используя модель pu sh . С этой опцией вы бы выполняли синтаксический анализ самостоятельно и не получили бы все приятные функции, которые индексаторы предоставляют бесплатно, такие как отслеживание изменений и автоматизация c запланированных запусков.