🚀 Try Zilliz Cloud, the fully managed Milvus, for free—experience 10x faster performance! Try Now>>

Milvus
Zilliz
  • Home
  • AI Reference
  • What are some distinctive features of Weaviate as a vector search engine, especially regarding its support for hybrid search, modules (like transformers), or GraphQL queries?

What are some distinctive features of Weaviate as a vector search engine, especially regarding its support for hybrid search, modules (like transformers), or GraphQL queries?

Weaviate is a vector search engine designed for flexibility and scalability, with three core features that set it apart: hybrid search capabilities, modular architecture for extending functionality, and a GraphQL-first query interface. These features make it adaptable to diverse use cases, from semantic search to multimodal data retrieval.

Hybrid Search Weaviate supports hybrid search by combining keyword-based (BM25) and vector-based retrieval into a single query. This allows developers to balance traditional keyword matching with semantic understanding. For example, a search for “apple” could return results related to both the fruit and the tech company by evaluating text similarity via vectors while also prioritizing exact keyword matches. The system merges scores from both methods using customizable weights, ensuring relevant results even when queries are ambiguous. Developers can adjust the weighting (e.g., 70% vector, 30% keyword) to fine-tune results for specific datasets. This hybrid approach is particularly useful in applications like e-commerce, where users might search using a mix of product names and descriptive terms.

Modules for Customization Weaviate’s modular design lets developers plug in pre-built or custom modules to handle tasks like vectorization, inference, or data enrichment. For instance, the text2vec-transformers module enables embedding generation using models like BERT, while the qna-transformers module allows direct question-answering over stored data. Modules like img2vec-neural extend Weaviate to support image embeddings, enabling multimodal searches. These modules can be configured via the schema without code changes, making it easy to switch models or add capabilities. For example, a developer could index product images using a ResNet model via img2vec-neural and later query them using text descriptions by combining modules for cross-modal retrieval.

GraphQL Query Flexibility Weaviate uses GraphQL as its primary query language, offering precise control over data retrieval. Developers can structure queries to fetch nested data, apply filters, and retrieve vector-specific metadata (e.g., certainty scores) in a single request. For example, a query might search for articles published after 2020 (where filter), include a vector-based similarity search for “climate science,” and return only the title, author, and certainty score using the _additional field. This avoids multiple API calls and simplifies integration with frontend tools. GraphQL’s type system also aligns with Weaviate’s schema, enabling validation and autocompletion in IDEs. This approach is especially useful in applications requiring complex data relationships, such as recommendation systems that combine user preferences with semantic content matching.

By integrating hybrid search, modular extensions, and GraphQL, Weaviate provides a versatile platform for developers to build search systems that handle both structured and unstructured data efficiently.

Like the article? Spread the word