Search Your Vectors
- CLI
- Python SDK
- JavaScript SDK
Copy
gravixlayer vectors vector search-text <index-id> --query "sample document" --model "baai/bge-large-en-v1.5" --top-k 5
Copy
Text search in index: a6012e38-8742-463b-bf1d-96f46a583923
SUCCESS: Text search completed in 59ms
Usage: {'prompt_tokens': 2, 'total_tokens': 2}
Found 1 result(s):
1. Vector ID: sample-doc-1
Score: 0.953193
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
index_id = "your-api-key"
vectors = client.vectors.index(index_id)
# Search with vector embedding
query_embedding = [0.1, 0.2, 0.3] * 341 + [0.1] # 1024 dimensions
results = vectors.search(
vector=query_embedding,
top_k=5
)
print(f"Found {len(results.hits)} results")
for hit in results.hits:
print(f"ID: {hit.id}, Score: {hit.score:.6f}")
if hit.metadata:
print(f"Metadata: {hit.metadata}")
print("---")
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
const indexId = "your-index-id";
const vectors = client.vectors.index(indexId);
const results = await vectors.searchText(
"sample document",
"baai/bge-large-en-v1.5",
5
);
console.log(`Found ${results.hits.length} results in ${results.query_time_ms}ms`);
if (results.hits.length > 0) {
console.log(`First result: ID=${results.hits[0].id}, Score=${results.hits[0].score.toFixed(6)}`);
}
Search with Vector Embeddings
- CLI
- Python SDK
- JavaScript SDK
Copy
# Search with vector
gravixlayer vectors vector search <index-id> --embedding "[0.1,0.2,0.3,0.4,0.5]" --top-k 3
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
index_id = "your-index-id"
vectors = client.vectors.index(index_id)
# Search with vector embedding
query_embedding = [0.1, 0.2, 0.3] * 341 + [0.1] # 1024 dimensions
results = vectors.search(
embedding=query_embedding,
top_k=5
)
print(f"Found {len(results.hits)} results")
for hit in results.hits:
print(f"ID: {hit.id}, Score: {hit.score:.6f}")
if hit.metadata:
print(f"Metadata: {hit.metadata}")
print("---")
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
const indexId = "your-index-id";
const vectors = client.vectors.index(indexId);
// Search with vector embedding
const queryEmbedding = Array.from({length: 1024}, () => Math.random() * 0.1);
const results = await vectors.search(queryEmbedding, 5);
console.log(`Found ${results.hits.length} results`);
results.hits.forEach(hit => {
console.log(`ID: ${hit.id}, Score: ${hit.score.toFixed(6)}`);
if (hit.metadata) {
console.log(`Metadata: ${JSON.stringify(hit.metadata)}`);
}
console.log("---");
});
Advanced Search with Filters
- Python SDK
- JavaScript SDK
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
index_id = "your-index-id"
vectors = client.vectors.index(index_id)
# Search with metadata filters
results = vectors.search_text(
query="machine learning",
model="baai/bge-large-en-v1.5",
top_k=10,
filter={
"category": "technology",
"difficulty": "beginner"
}
)
print(f"Filtered search found {len(results.hits)} results")
for hit in results.hits:
print(f"ID: {hit.id}")
print(f"Score: {hit.score:.6f}")
print(f"Metadata: {hit.metadata}")
print("---")
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
const indexId = "your-index-id";
const vectors = client.vectors.index(indexId);
// Search with metadata filters
const results = await vectors.searchText(
"machine learning",
"baai/bge-large-en-v1.5",
10,
{
category: "technology",
difficulty: "beginner"
}
);
console.log(`Filtered search found ${results.hits.length} results`);
results.hits.forEach(hit => {
console.log(`ID: ${hit.id}`);
console.log(`Score: ${hit.score.toFixed(6)}`);
console.log(`Metadata: ${JSON.stringify(hit.metadata)}`);
console.log("---");
});
Batch Search Operations
- Python SDK
- JavaScript SDK
Copy
import os
from gravixlayer import GravixLayer
client = GravixLayer()
index_id = "your-index-id"
vectors = client.vectors.index(index_id)
# Multiple text searches
queries = [
"machine learning algorithms",
"artificial intelligence",
"deep learning networks"
]
for i, query in enumerate(queries):
results = vectors.search_text(
query=query,
model="baai/bge-large-en-v1.5",
top_k=3
)
print(f"Query {i+1}: '{query}'")
print(f"Found {len(results.hits)} results")
for hit in results.hits:
print(f" - {hit.id}: {hit.score:.4f}")
print()
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
const indexId = "your-index-id";
const vectors = client.vectors.index(indexId);
// Multiple text searches
const queries = [
"machine learning algorithms",
"artificial intelligence",
"deep learning networks"
];
for (let i = 0; i < queries.length; i++) {
const query = queries[i];
const results = await vectors.searchText(
query,
"baai/bge-large-en-v1.5",
3
);
console.log(`Query ${i+1}: '${query}'`);
console.log(`Found ${results.hits.length} results`);
results.hits.forEach(hit => {
console.log(` - ${hit.id}: ${hit.score.toFixed(4)}`);
});
console.log();
}
Search Performance Tips
Optimize Query Performance
- Python SDK
- JavaScript SDK
Copy
import os
from gravixlayer import GravixLayer
import time
client = GravixLayer()
index_id = "your-index-id"
vectors = client.vectors.index(index_id)
def benchmark_search(query, iterations=5):
"""Benchmark search performance"""
times = []
for i in range(iterations):
start_time = time.time()
results = vectors.search_text(
query=query,
model="baai/bge-large-en-v1.5",
top_k=10
)
end_time = time.time()
search_time = (end_time - start_time) * 1000 # Convert to ms
times.append(search_time)
print(f"Iteration {i+1}: {search_time:.2f}ms, {len(results.hits)} results")
avg_time = sum(times) / len(times)
print(f"Average search time: {avg_time:.2f}ms")
return avg_time
# Benchmark your searches
benchmark_search("artificial intelligence")
Copy
import { GravixLayer } from 'gravixlayer';
const client = new GravixLayer({
apiKey: process.env.GRAVIXLAYER_API_KEY,
});
const indexId = "your-index-id";
const vectors = client.vectors.index(indexId);
async function benchmarkSearch(query, iterations = 5) {
const times = [];
for (let i = 0; i < iterations; i++) {
const startTime = Date.now();
const results = await vectors.searchText(
query,
"baai/bge-large-en-v1.5",
10
);
const endTime = Date.now();
const searchTime = endTime - startTime;
times.push(searchTime);
console.log(`Iteration ${i+1}: ${searchTime}ms, ${results.hits.length} results`);
}
const avgTime = times.reduce((a, b) => a + b, 0) / times.length;
console.log(`Average search time: ${avgTime.toFixed(2)}ms`);
return avgTime;
}
// Benchmark your searches
await benchmarkSearch("artificial intelligence");

