यह गाइड आपको Azure पोर्टल का उपयोग करके Azure AI Search सेटअप करने में मदद करेगा। अपने Azure AI Search सेवा को बनाने और कॉन्फ़िगर करने के लिए नीचे दिए गए चरणों का पालन करें।
शुरू करने से पहले, सुनिश्चित करें कि आपके पास निम्नलिखित हैं:
https://<service-name>.search.windows.net जैसा दिखना चाहिए।Azure AI Search आपकी खोज क्षमताओं को बढ़ाने के लिए विभिन्न टूल्स के साथ एकीकृत होता है। आप उन्नत कॉन्फ़िगरेशन और संचालन के लिए Azure CLI, Python SDK, .NET SDK और अन्य टूल्स का उपयोग कर सकते हैं।
कमांड का उपयोग करके Azure CLI में साइन इन करें:
az login
(अनुशंसित) Microsoft Entra ID (RBAC) के साथ बिना कुंजी पहुँच सक्षम करें:
az search service update --name <service-name> --resource-group <resource-group> --auth-options aadOrApiKey
az role assignment create --assignee <your-user-or-principal-id> --role "Search Service Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
az role assignment create --assignee <your-user-or-principal-id> --role "Search Index Data Contributor" --scope $(az search service show -g <resource-group> -n <service-name> --query id -o tsv)
# az search सेवा शो में "endpoint" फ़ील्ड नहीं है; सेवा नाम से URL बनाएं।
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
RBAC सक्षम होने पर, नीचे दिए गए Python और .NET SDK नमूने DefaultAzureCredential के साथ प्रमाणीकरण करते हैं, जो स्थानीय विकास के समय आपके az login सत्र का उपयोग करता है — कोई एडमिन कुंजी आवश्यक नहीं। देखें Connect to Azure AI Search using roles।
```bash
# zsh/bash
# az search service show में "endpoint" फील्ड नहीं है; सेवा नाम से URL बनाएं।
export AZURE_SEARCH_SERVICE_ENDPOINT="https://<service-name>.search.windows.net"
export AZURE_SEARCH_API_KEY=$(az search admin-key show -g <resource-group> --service-name <service-name> --query "primaryKey" -o tsv)
```
```powershell
# PowerShell
# az search service show में "endpoint" फील्ड नहीं है; सेवा नाम से URL बनाएं।
$env:AZURE_SEARCH_SERVICE_ENDPOINT = "https://<service-name>.search.windows.net"
$env:AZURE_SEARCH_API_KEY = $(az search admin-key show -g <resource-group> --service-name <service-name> --query "primaryKey" -o tsv)
```
Azure Cognitive Search क्लाइंट लाइब्रेरी और Azure Identity Python के लिए इंस्टॉल करें:
pip install azure-search-documents azure-identity
एक इंडेक्स बनाने और दस्तावेज़ अपलोड करने के लिए निम्न Python कोड का उपयोग करें:
import os
from azure.identity import DefaultAzureCredential
from azure.search.documents import SearchClient
from azure.search.documents.indexes import SearchIndexClient
from azure.search.documents.indexes.models import SearchIndex, SimpleField, edm
service_endpoint = os.getenv("AZURE_SEARCH_SERVICE_ENDPOINT")
index_name = "sample-index"
# कीलेस (सिफ़ारिश की गई): आपका `az login` पहचान Entra ID RBAC के माध्यम से उपयोग करता है।
# "सर्च सर्विस कॉन्ट्रिब्यूटर" और "सर्च इंडेक्स डेटा कॉन्ट्रिब्यूटर" भूमिकाओं की आवश्यकता होती है।
credential = DefaultAzureCredential()
# फॉलबैक (की-आधारित प्रमाणीकरण):
# azure.core.credentials से AzureKeyCredential आयात करें
# credential = AzureKeyCredential(os.getenv("AZURE_SEARCH_API_KEY"))
index_client = SearchIndexClient(service_endpoint, credential)
fields = [
SimpleField(name="id", type=edm.String, key=True),
SimpleField(name="content", type=edm.String, searchable=True),
]
index = SearchIndex(name=index_name, fields=fields)
index_client.create_index(index)
search_client = SearchClient(service_endpoint, index_name, credential)
documents = [
{"id": "1", "content": "Hello world"},
{"id": "2", "content": "Azure Cognitive Search"}
]
search_client.upload_documents(documents)
एक इंडेक्स बनाने और दस्तावेज़ अपलोड करने के लिए निम्न कमांड चलाएं:
dotnet run ./AzureSearch.cs
नीचे दिया .NET नमूना DefaultAzureCredential का उपयोग करता है, जो स्थानीय विकास के दौरान आपके Azure CLI az login साइन-इन का उपयोग कर सकता है।
यहाँ AzureSearch.cs की .NET कोड है:
#:package Azure.Search.Documents@11.*
#:package Azure.Identity@1.21.0
#:property PublishAot=false
using Azure;
using Azure.Identity;
using Azure.Search.Documents;
using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;
var serviceEndpoint = new Uri(Environment.GetEnvironmentVariable("AZURE_SEARCH_SERVICE_ENDPOINT")!);
var indexName = "sample-index";
// Keyless (recommended): uses your `az login` identity via Entra ID RBAC.
// Requires the "Search Service Contributor" and "Search Index Data Contributor" roles.
var credential = new DefaultAzureCredential();
// Fallback (key-based auth): the `using Azure;` directive above already imports
// AzureKeyCredential; replace the credential line above with:
// var credential = new AzureKeyCredential(Environment.GetEnvironmentVariable("AZURE_SEARCH_API_KEY")!);
var indexClient = new SearchIndexClient(serviceEndpoint, credential);
var fields = new List<SearchField>()
{
new SimpleField("id", SearchFieldDataType.String) { IsKey = true },
new SearchableField("content")
};
var index = new SearchIndex(name: indexName, fields: fields);
var response = await indexClient.CreateOrUpdateIndexAsync(index);
Console.WriteLine($"Index '{response.Value.Name}' ready.");
var searchClient = new SearchClient(serviceEndpoint, indexName, credential);
var documents = new[]
{
new { id = "1", content = "Hello world" },
new { id = "2", content = "Azure Cognitive Search" }
};
var result = await searchClient.UploadDocumentsAsync(documents);
Console.WriteLine($"Uploaded {result.Value.Results.Count} documents to index '{response.Value.Name}'.");
अधिक विस्तृत जानकारी के लिए, निम्नलिखित दस्तावेज़ देखें:
आपने Azure पोर्टल और एकीकृत टूल्स का उपयोग करके सफलतापूर्वक Azure AI Search सेटअप कर लिया है। अब आप अपनी खोज समाधानों को बेहतर बनाने के लिए Azure AI Search की अधिक उन्नत विशेषताओं और क्षमताओं का पता लगा सकते हैं।
अतिरिक्त सहायता के लिए Azure Cognitive Search documentation पर जाएं।
अस्वीकरण: इस दस्तावेज़ का अनुवाद AI अनुवाद सेवा Co-op Translator का उपयोग करके किया गया है। जबकि हम सटीकता के लिए प्रयास करते हैं, कृपया ध्यान दें कि स्वचालित अनुवादों में त्रुटियाँ या अशुद्धियाँ हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में ही प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सिफारिश की जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या गलत व्याख्या के लिए हम उत्तरदायी नहीं हैं।