Skip to main content Skills Marktplatz Entdecken und erkunden Sie KI-Skills, die von der Community erstellt wurden.
Mit Codex oder Claude installieren Kopieren Sie diesen Prompt, fügen Sie ihn in Codex, Claude oder einen anderen Assistant ein und lassen Sie die Skill-Seite prüfen und installieren.
Prompt kopierenPrompt-Details anzeigen Ein direkter Befehl überspringt den Prüf-Prompt. Prüfen Sie die Quelle, bevor Sie ihn ausführen.
npx skills add https://github.com/BEKO2210/Firstbrain --skill azure-search-documents-tsDer Befehl bleibt in einer Zeile. Scrollen Sie horizontal, um ihn vor dem Kopieren vollständig zu prüfen.
Sie bevorzugen eine lokale Kopie? Laden Sie die Dateien herunter, die SkillsMP derzeit vorliegen.
ZIP herunterladen Herunterladen... Mehr aus diesem Repository Verwandte Berufe SOC
Basierend auf der SOC-Berufsklassifikation
name azure-search-documents-ts description Build search applications with vector, hybrid, and semantic search capabilities. type skill created 2026-02-27T00:00:00.000Z domain cloud-infrastructure category azure risk unknown source community tags ["skill","cloud-infrastructure","azure","search","documents"]
Azure AI Search SDK for TypeScript
Build search applications with vector, hybrid, and semantic search capabilities.
Installation
npm install @azure/search-documents @azure/identity
Environment Variables
AZURE_SEARCH_ENDPOINT=https://<service-name>.search.windows.net
AZURE_SEARCH_INDEX_NAME=my-index
AZURE_SEARCH_ADMIN_KEY=<admin-key>
Authentication
import { SearchClient , SearchIndexClient } from "@azure/search-documents" ;
import { DefaultAzureCredential } from "@azure/identity" ;
const endpoint = process.env .AZURE_SEARCH_ENDPOINT !;
const indexName = process.env .AZURE_SEARCH_INDEX_NAME !;
const credential = new DefaultAzureCredential ();
const searchClient = new SearchClient (endpoint, indexName, credential);
const indexClient = new SearchIndexClient (endpoint, credential);
Core Workflow
Create Index with Vector Field
import { SearchIndex , SearchField , VectorSearch } from "@azure/search-documents" ;
const index : SearchIndex = {
name : ,
: [
{ : , : , : },
{ : , : , : },
{ : , : , : },
{ : , : , : , : },
{
: ,
: ,
: ,
: ,
: ,
},
],
: {
: [
{ : , : },
],
: [
{ : , : },
],
},
};
indexClient. (index);
"products"
fields
name
"id"
type
"Edm.String"
key
true
name
"title"
type
"Edm.String"
searchable
true
name
"description"
type
"Edm.String"
searchable
true
name
"category"
type
"Edm.String"
filterable
true
facetable
true
name
"embedding"
type
"Collection(Edm.Single)"
searchable
true
vectorSearchDimensions
1536
vectorSearchProfileName
"vector-profile"
vectorSearch
algorithms
name
"hnsw-algorithm"
kind
"hnsw"
profiles
name
"vector-profile"
algorithmConfigurationName
"hnsw-algorithm"
await
createOrUpdateIndex
Index Documents const documents = [
{ id : "1" , title : "Widget" , description : "A useful widget" , category : "Tools" , embedding : [...] },
{ id : "2" , title : "Gadget" , description : "A cool gadget" , category : "Electronics" , embedding : [...] },
];
const result = await searchClient.uploadDocuments (documents);
console .log (`Indexed ${result.results.length} documents` );
Full-Text Search const results = await searchClient.search ("widget" , {
select : ["id" , "title" , "description" ],
filter : "category eq 'Tools'" ,
orderBy : ["title asc" ],
top : 10 ,
});
for await (const result of results.results ) {
console .log (`${result.document .title} : ${result.score} ` );
}
Vector Search const queryVector = await getEmbedding ("useful tool" );
const results = await searchClient.search ("*" , {
vectorSearchOptions : {
queries : [
{
kind : "vector" ,
vector : queryVector,
fields : ["embedding" ],
kNearestNeighborsCount : 10 ,
},
],
},
select : ["id" , "title" , "description" ],
});
for await (const result of results.results ) {
console .log (`${result.document .title} : ${result.score} ` );
}
Hybrid Search (Text + Vector) const queryVector = await getEmbedding ("useful tool" );
const results = await searchClient.search ("tool" , {
vectorSearchOptions : {
queries : [
{
kind : "vector" ,
vector : queryVector,
fields : ["embedding" ],
kNearestNeighborsCount : 50 ,
},
],
},
select : ["id" , "title" , "description" ],
top : 10 ,
});
Semantic Search
const index : SearchIndex = {
name : "products" ,
fields : [...],
semanticSearch : {
configurations : [
{
name : "semantic-config" ,
prioritizedFields : {
titleField : { name : "title" },
contentFields : [{ name : "description" }],
},
},
],
},
};
const results = await searchClient.search ("best tool for the job" , {
queryType : "semantic" ,
semanticSearchOptions : {
configurationName : "semantic-config" ,
captions : { captionType : "extractive" },
answers : { answerType : "extractive" , count : 3 },
},
select : ["id" , "title" , "description" ],
});
for await (const result of results.results ) {
console .log (`${result.document .title} ` );
console .log (` Caption: ${result.captions?.[0 ]?.text} ` );
console .log (` Reranker Score: ${result.rerankerScore} ` );
}
Filtering and Facets
const results = await searchClient.search ("*" , {
filter : "category eq 'Electronics' and price lt 100" ,
facets : ["category,count:10" , "brand" ],
});
for (const [facetName, facetResults] of Object .entries (results.facets || {})) {
console .log (`${facetName} :` );
for (const facet of facetResults) {
console .log (` ${facet.value} : ${facet.count} ` );
}
}
Autocomplete and Suggestions
const index : SearchIndex = {
name : "products" ,
fields : [...],
suggesters : [
{ name : "sg" , sourceFields : ["title" , "description" ] },
],
};
const autocomplete = await searchClient.autocomplete ("wid" , "sg" , {
mode : "twoTerms" ,
top : 5 ,
});
const suggestions = await searchClient.suggest ("wid" , "sg" , {
select : ["title" ],
top : 5 ,
});
Batch Operations
const batch = [
{ upload : { id : "1" , title : "New Item" } },
{ merge : { id : "2" , title : "Updated Title" } },
{ delete : { id : "3" } },
];
const result = await searchClient.indexDocuments ({ actions : batch });
Key Types import {
SearchClient ,
SearchIndexClient ,
SearchIndexerClient ,
SearchIndex ,
SearchField ,
SearchOptions ,
VectorSearch ,
SemanticSearch ,
SearchIterator ,
} from "@azure/search-documents" ;
Best Practices
Use hybrid search - Combine vector + text for best results
Enable semantic ranking - Improves relevance for natural language queries
Batch document uploads - Use uploadDocuments with arrays, not single docs
Use filters for security - Implement document-level security with filters
Index incrementally - Use mergeOrUploadDocuments for updates
Monitor query performance - Use includeTotalCount: true sparingly in production
When to Use This skill is applicable to execute the workflow or actions described in the overview.
Connections
Domain: [[Cloud & Infrastruktur]]
Kategorie: [[Microsoft Azure]]
Navigation: [[Skills Uebersicht]], [[Home]]