Overview
Weaviate is an open-source vector database that supports semantic search, hybrid search (combining keyword and vector search), and automatic schema inference. Built for production ML applications.Setup
- Local Docker
- Weaviate Cloud
- Kubernetes
Run Weaviate locally:Configure in Flowise:
Configuration
Required Parameters
Connection scheme:
https- For cloud or secured instanceshttp- For local development
Weaviate server host (without scheme):
- Local:
localhost:8080 - Cloud:
your-cluster.weaviate.network
Class/collection name (capitalized, e.g.,
Documents, KnowledgeBase)Embedding model for vector generation
Optional Parameters
Weaviate API key credential (for cloud-hosted instances)
Documents to upsert into the index
Track indexed documents to prevent duplication
Property name for storing document text
Array of metadata keys to store as properties:
GraphQL-style filter for search:
Number of results to return
MMR (Maximal Marginal Relevance)
Search mode:
similarity- Standard vector similaritymmr- Diverse results with MMR
Documents to fetch before MMR reranking
MMR diversity factor (0-1)
Hybrid Search
Weighting for hybrid search:
1- Pure vector search0.5- Balanced hybrid0- Pure keyword (BM25) search
Usage Examples
Basic Local Setup
Weaviate Cloud
With Metadata Keys
Hybrid Search
With Filters
Weaviate Filter Syntax
Weaviate uses GraphQL-style filters:Simple Filters
Operators
- Text:
Equal,NotEqual,Like - Numeric:
Equal,NotEqual,GreaterThan,GreaterThanEqual,LessThan,LessThanEqual - Boolean:
Equal,NotEqual - Geo:
WithinGeoRange
Combining Filters
Best Practices
Schema Design
- Use PascalCase for class names
- Define metadata keys upfront
- Use appropriate data types
- Plan for cross-references
Hybrid Search
- Start with alpha=0.5
- Tune based on use case
- Monitor search quality
- Combine with filters
Performance
- Use appropriate vector indexing
- Enable compression for large datasets
- Monitor shard count
- Implement caching
Production
- Enable authentication
- Set up replication
- Monitor resource usage
- Implement backup strategy
Advanced Features
Custom Vector Index
Multi-Tenancy
Weaviate supports multi-tenant collections for data isolation.Generative Search
Combine vector search with LLM generation for RAG applications.Common Issues
Class Name Error
Class Name Error
Error: “Class name must start with capital letter”Solution:
- Use PascalCase:
Documentsnotdocuments - Weaviate enforces capitalized class names
- Update Weaviate Index parameter
Connection Failed
Connection Failed
Can’t connect to WeaviateSolution:
- Verify Weaviate is running
- Check scheme (http vs https)
- Ensure port 8080 is accessible
- For cloud: verify API key
Metadata Not Indexed
Metadata Not Indexed
Metadata fields missing from resultsSolution:
- Specify metadata keys in configuration
- Ensure keys are valid property names
- Check schema in Weaviate console
- Re-index if schema changed
Hybrid Search Not Working
Hybrid Search Not Working
Alpha parameter has no effectSolution:
- Ensure Weaviate version supports hybrid search
- Verify text properties exist
- Check if BM25 is enabled
- Test with alpha=0 and alpha=1 separately
Monitoring
Weaviate provides REST API for monitoring:Outputs
Retriever with configured search type and filters
Direct vector store access for custom GraphQL queries