Pular para o conteúdo
Skillpedia
Análise e planilhas48 mil · #2366

azure-search-documents-dotnet

Ajuda seu agente a criar aplicações de busca avançada no Azure. Permite implementar busca por texto, vetorial e híbrida para encontrar informações.

O que ela faz

Esta ferramenta ajuda a criar aplicativos de busca. Você pode usá-la para encontrar informações em grandes quantidades de dados, como em um site ou banco de dados.

Quando usar

  • ✓Quando você precisa criar um sistema de busca para um site.
  • ✓Ao desenvolver um aplicativo que precisa pesquisar documentos.
  • ✓Para implementar busca por texto completo ou por similaridade em dados.

Exemplo do que pedir para a IA

“Como posso configurar a busca de documentos para meu site?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-search-documents-dotnet/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/azure-search-documents-dotnet/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você adiciona esta ferramenta ao seu projeto de programação .NET. Ela se conecta ao serviço Azure AI Search, permitindo que você defina como os dados são organizados e como a busca funciona.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill azure-search-documents-dotnet

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/azure-search-documents-dotnet/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Suporte upstream incluído

Arquivos de suporte estão incluídos em caminhos relativos à skill. Veja UPSTREAM-NOTICE.md para suas fontes fixadas, licenças, hashes e alterações de importação.

Azure.Search.Documents (.NET)

Crie aplicações de busca com capacidades de busca full-text, vetorial, semântica e híbrida.

Instalação

dotnet add package Azure.Search.Documents
dotnet add package Azure.Identity

Versões Atuais: Estável v11.7.0, Preview v11.8.0-beta.1

Variáveis de Ambiente

SEARCH_ENDPOINT=https://<search-service>.search.windows.net
SEARCH_INDEX_NAME=<index-name>
# For API key auth (not recommended for production)
SEARCH_API_KEY=<api-key>

Autenticação

DefaultAzureCredential (preferencial):

using Azure.Identity;
using Azure.Search.Documents;

var credential = new DefaultAzureCredential();
var client = new SearchClient(
    new Uri(Environment.GetEnvironmentVariable("SEARCH_ENDPOINT")),
    Environment.GetEnvironmentVariable("SEARCH_INDEX_NAME"),
    credential);

Chave de API:

using Azure;
using Azure.Search.Documents;

var credential = new AzureKeyCredential(
    Environment.GetEnvironmentVariable("SEARCH_API_KEY"));
var client = new SearchClient(
    new Uri(Environment.GetEnvironmentVariable("SEARCH_ENDPOINT")),
    Environment.GetEnvironmentVariable("SEARCH_INDEX_NAME"),
    credential);

Seleção de Cliente

Cliente Propósito
SearchClient Consultar índices, enviar/atualizar/excluir documentos
SearchIndexClient Criar/gerenciar índices, mapas de sinônimos
SearchIndexerClient Gerenciar indexadores, skillsets, fontes de dados

Criação de Índice

Usando FieldBuilder (Recomendado)

using Azure.Search.Documents.Indexes;
using Azure.Search.Documents.Indexes.Models;

// Define model with attributes
public class Hotel
{
    [SimpleField(IsKey = true, IsFilterable = true)]
    public string HotelId { get; set; }

    [SearchableField(IsSortable = true)]
    public string HotelName { get; set; }

    [SearchableField(AnalyzerName = LexicalAnalyzerName.EnLucene)]
    public string Description { get; set; }

    [SimpleField(IsFilterable = true, IsSortable = true, IsFacetable = true)]
    public double? Rating { get; set; }

    [VectorSearchField(VectorSearchDimensions = 1536, VectorSearchProfileName = "vector-profile")]
    public ReadOnlyMemory<float>? DescriptionVector { get; set; }
}

// Create index
var indexClient = new SearchIndexClient(endpoint, credential);
var fieldBuilder = new FieldBuilder();
var fields = fieldBuilder.Build(typeof(Hotel));

var index = new SearchIndex("hotels")
{
    Fields = fields,
    VectorSearch = new VectorSearch
    {
        Profiles = { new VectorSearchProfile("vector-profile", "hnsw-algo") },
        Algorithms = { new HnswAlgorithmConfiguration("hnsw-algo") }
    }
};

await indexClient.CreateOrUpdateIndexAsync(index);

Definição Manual de Campo

var index = new SearchIndex("hotels")
{
    Fields =
    {
        new SimpleField("hotelId", SearchFieldDataType.String) { IsKey = true, IsFilterable = true },
        new SearchableField("hotelName") { IsSortable = true },
        new SearchableField("description") { AnalyzerName = LexicalAnalyzerName.EnLucene },
        new SimpleField("rating", SearchFieldDataType.Double) { IsFilterable = true, IsSortable = true },
        new SearchField("descriptionVector", SearchFieldDataType.Collection(SearchFieldDataType.Single))
        {
            VectorSearchDimensions = 1536,
            VectorSearchProfileName = "vector-profile"
        }
    }
};

Operações de Documento

var searchClient = new SearchClient(endpoint, indexName, credential);

// Upload (add new)
var hotels = new[] { new Hotel { HotelId = "1", HotelName = "Hotel A" } };
await searchClient.UploadDocumentsAsync(hotels);

// Merge (update existing)
await searchClient.MergeDocumentsAsync(hotels);

// Merge or Upload (upsert)
await searchClient.MergeOrUploadDocumentsAsync(hotels);

// Delete
await searchClient.DeleteDocumentsAsync("hotelId", new[] { "1", "2" });

// Batch operations
var batch = IndexDocumentsBatch.Create(
    IndexDocumentsAction.Upload(hotel1),
    IndexDocumentsAction.Merge(hotel2),
    IndexDocumentsAction.Delete(hotel3));
await searchClient.IndexDocumentsAsync(batch);

Padrões de Busca

Busca Básica

var options = new SearchOptions
{
    Filter = "rating ge 4",
    OrderBy = { "rating desc" },

…
Perguntas frequentes

O que é Azure AI Search?

É um serviço na nuvem da Microsoft que permite adicionar funcionalidades de busca avançada a aplicativos.

O que são 'full-text', 'vector', 'semantic' e 'hybrid' search?

São diferentes formas de buscar informações: texto completo busca palavras exatas, busca vetorial encontra itens similares com base em significado, busca semântica entende o contexto e busca híbrida combina várias delas.

Preciso saber muito sobre programação para usar?

É recomendado ter conhecimento básico de programação .NET, pois esta ferramenta é um SDK (kit de desenvolvimento) para programadores.

Detalhes

Descrição original do autor

Azure AI Search SDK for .NET (Azure.Search.Documents). Use for building search applications with full-text, vector, semantic, and hybrid search.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2366
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas