ਇਹ ਗਾਈਡ ਤੁਹਾਡੀ ਮਦਦ ਕਰੇਗੀ ਅਜ਼ੂਰ ਪੋਰਟਲ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਅਜ਼ੂਰ ਏਆਈ ਸਰਚ ਸੈਟਅਪ ਕਰਨ ਵਿੱਚ। ਹੇਠਾਂ ਦਿੱਤੇ ਕਦਮਾਂ ਨੂੰ ਫਾਲੋ ਕਰੋ ਤਾਂ ਜੋ ਤੁਸੀਂ ਆਪਣੀ ਅਜ਼ੂਰ ਏਆਈ ਸਰਚ ਸੇਵਾ ਬਣਾਈ ਅਤੇ ਸੰਰਚਿਤ ਕਰ ਸਕੋ।
ਸ਼ੁਰੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਇਹ ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਹੇਠਾਲੇ ਹਨ:
https://<service-name>.search.windows.net।ਅਜ਼ੂਰ ਏਆਈ ਸਰਚ ਵੱਖ-ਵੱਖ ਟੂਲਾਂ ਨਾਲ ਇੱਕੀਕ੍ਰਿਤ ਹੁੰਦੀ ਹੈ ਤਾਂ ਜੋ ਤੁਹਾਡੇ ਖੋਜ ਯੋਗਤਾਵਾਂ ਨੂੰ ਵਧਾਇਆ ਜਾ ਸਕੇ। ਤੁਸੀਂ ਅਜ਼ੂਰ CLI, Python SDK, .NET SDK ਅਤੇ ਹੋਰ ਟੂਲਾਂ ਦੀ ਵਰਤੋਂ ਅੱਗੇਲੇ ਸੰਰਚਨਾਂ ਅਤੇ ਕਿਰਿਆਵਾਂ ਲਈ ਕਰ ਸਕਦੇ ਹੋ।
ਕਮਾਂਡ ਦਾ ਉਪਯੋਗ ਕਰਕੇ ਅਜ਼ੂਰ 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 service ਵਿਖਾਉਂਦਾ ਹੈ ਕਿ "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)
```
ਅਜ਼ੂਰ ਕੋਗਨੀਟਿਵ ਸਰਚ ਕਲਾਇੰਟ ਲਾਇਬ੍ਰੇਰੀ ਅਤੇ ਅਜ਼ੂਰ ਆਈਡੈਂਟਿਟੀ ਫਾਰ 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 ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਜੋ ਤੁਹਾਡੇ ਲੋਕਲ ਵਿਕਾਸ ਦੌਰਾਨ az login ਤੋਂ ਅਜ਼ੂਰ CLI ਸਾਈਨ-ਇਨ ਨੂੰ ਵਰਤ ਸਕਦਾ ਹੈ।
ਇੱਥੇ 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 Cognitive Search documentation ‘ਤੇ ਜਾਓ।
ਅਸਵੀਕਾਰੋਪਣ: ਇਸ ਦਸਤਾਵੇਜ਼ ਦਾ ਅਨੁਵਾਦ ਏਆਈ ਅਨੁਵਾਦ ਸੇਵਾ Co-op Translator ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਕੀਤਾ ਗਿਆ ਹੈ। ਜਦੋਂ ਕਿ ਅਸੀਂ ਸਹੀਤਾਵਾਂ ਲਈ ਯਤਨਸ਼ੀਲ ਹਾਂ, ਕਿਰਪਾ ਕਰਕੇ ਧਿਆਨ ਰੱਖੋ ਕਿ ਸਵੈਚਾਲਿਤ ਅਨੁਵਾਦਾਂ ਵਿੱਚ ਗਲਤੀਆਂ ਜਾਂ ਅਸਮੱਤਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਮੂਲ ਦਸਤਾਵੇਜ਼ ਆਪਣੀ ਮੂਲ ਭਾਸ਼ਾ ਵਿੱਚ ਅਧਿਕਾਰਕ ਸਰੋਤ ਮੰਨਿਆ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ। ਜਰੂਰੀ ਜਾਣਕਾਰੀ ਲਈ, ਪੇਸ਼ੇਵਰ ਮਨੁੱਖੀ ਅਨੁਵਾਦ ਦੀ ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਅਸੀਂ ਇਸ ਅਨੁਵਾਦ ਦੇ ਉਪਯੋਗ ਤੋਂ ਪੈਦਾ ਹੋਣ ਵਾਲੀਆਂ ਕਿਸੇ ਵੀ ਗਲਤਫਹਿਮੀਆਂ ਜਾਂ ਗਲਤ ਵਿਆਖਿਆਵਾਂ ਲਈ ਜਵਾਬਦੇਹ ਨਹੀਂ ਹਾਂ।