Программно, вы можете использовать когнитивный навык анализа изображений для автоматического извлечения тегов из изображений.
См. https://docs.microsoft.com/en-us/azure/search/cognitive-search-skill-image-analysis для получения дополнительной информации об этом умении.
Ваш навык будет выглядеть примерно так:
{ "@odata.type": "#Microsoft.Skills.Vision.ImageAnalysisSkill",
"context": "/document/normalized_images/*",
"visualFeatures": [
"Tags",
"Description"
],
"defaultLanguageCode": "en",
"inputs": [
{
"name": "image",
"source": "/document/normalized_images/*"
}
],
"outputs": [
{
"name": "tags",
"targetName": "myTags"
},
{
"name": "description",
"targetName": "myDescription"
}
]
}
Затем в индексе обязательно создайте поле типа Collection (Edm.String), которое будет содержать список тегов. Давайте назовем это поле imageTags . Убедитесь, что это поле доступно для поиска.
В отображениях выходного поля (свойство индексатора) вам потребуется сопоставить список тегов с вновь созданным полем imageTags следующим образом:
"outputFieldMappings": [
{
"sourceFieldName": "/document/normalized_images/*/myDescription/tags/*",
"targetFieldName": "imageTags"
}
Это гарантирует, что каждый из тегов, найденных на изображениях, будет вставлен в массив imageTags.
Пожалуйста, прочтите также этот документ, который объясняет, как извлечь normalized_images, если вы уже не знакомы с этим: https://docs.microsoft.com/en-us/azure/search/cognitive-search-concept-image-scenarios