Packages

Complete Twilio SDK for Elixir — 37 products, 494 services, 467 resources. Auto-generated from official OpenAPI specs. Finch HTTP/2, retries with jitter, webhooks, TwiML, telemetry, streaming pagination.

Current section

Files

Jump to
twilio_elixir lib twilio knowledge v2 knowledge_base search_service.ex
Raw

lib/twilio/knowledge/v2/knowledge_base/search_service.ex

# File generated from Twilio's OpenAPI spec — do not edit manually
defmodule Twilio.Knowledge.V2.KnowledgeBase.SearchService do
@moduledoc """
Service for Search API operations.
Operations: `update`
"""
alias Twilio.Client
alias Twilio.Deserializer
@doc """
Perform semantic search across knowledge sources within a knowledge base to find the most relevant content
chunks based on a natural language query. Returns ranked chunks with similarity scores, allowing you to retrieve
contextually relevant information for AI applications, chatbots, or information retrieval systems. You can filter
results by specific knowledge sources.
Operation: `CreateKnowledgeSearch` | Tags: Knowledge
"""
@spec update(Client.t(), String.t(), map(), keyword()) ::
{:ok, Twilio.Resources.Knowledge.V2.KnowledgeBase.Search.t()}
| {:ok, map(), map()}
| :ok
| {:error, Twilio.Error.t()}
def update(client, kb_id, params \\ %{}, opts \\ []) do
with {:ok, data} <-
Client.request(client, :post, "/v2/KnowledgeBases/#{kb_id}/Search",
params: params,
opts: opts,
base_url: "https://knowledge.twilio.com",
content_type: :json
) do
{:ok, Deserializer.deserialize(data, Twilio.Resources.Knowledge.V2.KnowledgeBase.Search)}
end
end
end