2016-08-11 15 views
0

Существует способ создания Azure Search Service с помощью шаблона ARM (например: https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/101-azure-search-create/azuredeploy.json).Добавление создания/конфигурации индекса в шаблоне ARM поиска Azure

Что я хочу знать, есть способ определить конкретный индекс в шаблоне ARM (поля, источники данных, индексы и т. Д.)?

Я знаю, что есть службы REST, которые вы можете использовать для создания и изменения индексов, но я не хочу, чтобы отдельный скрипт/приложение обрабатывал это после создания моей группы ресурсов и службы поиска Azure.

ответ

1

Azure Search не поддерживает управление индексами с помощью шаблонов ARM сегодня. Если эта возможность важна для вас, пожалуйста, добавьте элемент на User Voice, чтобы помочь нам расставить приоритеты.

+0

Благодарим вас за ответ. Это не так важно на данный момент, так как вокруг есть способы. – disco

2

Нет, вы не можете создать индекс в шаблоне ARM. Терминология, которую я прочитал ранее, заключается в том, что ARM предназначен для управления плоскостью управления Azure.

3

+1 к комментарию дона. Вам нужно будет создать индекс либо с помощью REST API, либо с .NET SDK. Если вы используете PowerShell для создания службы, вы можете найти следующий полезный код, который вызывает REST API с помощью Invoke-RestMethod и набора .JSON-файлов, содержащих схему для индекса и некоторых документов.

#------------------------# 
# Setting up search index# 
#------------------------# 
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]" 
$headers.Add("Content-Type", 'application/json') 
$headers.Add("api-key", $searchApiKey) 

Write-Host 
Write-Host "Creating Index..." 
$schemaFile = "$(Split-Path $MyInvocation.MyCommand.Path)\zipcodes.schema" 
$response = Invoke-RestMethod -TimeoutSec 10000 $searchServiceUrl"/indexes/zipcodes2?api-version=2015-02-28-Preview" -Method Put -Headers $headers -Body "$(get-content $schemaFile)" 
Write-Host $response 

$jsonFile = "$(Split-Path $MyInvocation.MyCommand.Path)\zipcodes1.json" 
Write-Host 
Write-Host "Adding Documents from $jsonFile..." 
$response = Invoke-RestMethod -TimeoutSec 10000 $searchServiceUrl"/indexes/zipcodes2/docs/index?api-version=2015-02-28-Preview" -Method Post -Headers $headers -Body "$(get-content $jsonFile)" 
Write-Host $response 
+0

Благодарим вас за фрагмент, и в итоге я сделал что-то похожее на это. Это нужно будет сделать, пока не будет добавлена ​​дополнительная поддержка! – disco