Search Collection
curl --request POST \
--url https://api.example.com/api/v1/collections/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"collection_id": "<string>",
"search_type": "hybrid",
"filters": {},
"max_results": 10
}
'import requests
url = "https://api.example.com/api/v1/collections/search"
payload = {
"query": "<string>",
"collection_id": "<string>",
"search_type": "hybrid",
"filters": {},
"max_results": 10
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
collection_id: '<string>',
search_type: 'hybrid',
filters: {},
max_results: 10
})
};
fetch('https://api.example.com/api/v1/collections/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/collections/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => '<string>',
'collection_id' => '<string>',
'search_type' => 'hybrid',
'filters' => [
],
'max_results' => 10
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/collections/search"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"search_type\": \"hybrid\",\n \"filters\": {},\n \"max_results\": 10\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/collections/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"search_type\": \"hybrid\",\n \"filters\": {},\n \"max_results\": 10\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/collections/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"search_type\": \"hybrid\",\n \"filters\": {},\n \"max_results\": 10\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"content": "<string>",
"score": 123,
"metadata": {},
"content_id": "<string>",
"source": "<string>"
}
],
"total_results": 123,
"query": "<string>",
"search_type": "vector",
"collection_id": "<string>",
"execution_time_ms": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Collections
Search Collection
Search within a collection using knowledge search.
Supports different search types:
- fulltext: Traditional text-based search
- semantic: Vector similarity search
- hybrid: Combination of fulltext and semantic search
POST
/
api
/
v1
/
collections
/
search
Search Collection
curl --request POST \
--url https://api.example.com/api/v1/collections/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"collection_id": "<string>",
"search_type": "hybrid",
"filters": {},
"max_results": 10
}
'import requests
url = "https://api.example.com/api/v1/collections/search"
payload = {
"query": "<string>",
"collection_id": "<string>",
"search_type": "hybrid",
"filters": {},
"max_results": 10
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
query: '<string>',
collection_id: '<string>',
search_type: 'hybrid',
filters: {},
max_results: 10
})
};
fetch('https://api.example.com/api/v1/collections/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/v1/collections/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'query' => '<string>',
'collection_id' => '<string>',
'search_type' => 'hybrid',
'filters' => [
],
'max_results' => 10
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/v1/collections/search"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"search_type\": \"hybrid\",\n \"filters\": {},\n \"max_results\": 10\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/api/v1/collections/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"search_type\": \"hybrid\",\n \"filters\": {},\n \"max_results\": 10\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/collections/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"collection_id\": \"<string>\",\n \"search_type\": \"hybrid\",\n \"filters\": {},\n \"max_results\": 10\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"content": "<string>",
"score": 123,
"metadata": {},
"content_id": "<string>",
"source": "<string>"
}
],
"total_results": 123,
"query": "<string>",
"search_type": "vector",
"collection_id": "<string>",
"execution_time_ms": 123
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The workspace ID
Body
application/json
Request schema for knowledge search.
Search query string
ID of the collection to search in
Type of search to perform
Available options:
vector, keyword, hybrid Additional filters to apply
Maximum number of results to return
Required range:
1 <= x <= 100Response
Successful Response
Response schema for knowledge search.
List of search results
Show child attributes
Show child attributes
Total number of results found
Original search query
Type of search performed
Available options:
vector, keyword, hybrid Collection that was searched
Search execution time in milliseconds