Overview
The search module provides powerful hybrid search capabilities for querying knowledge graphs. It supports multiple search methods (vector similarity, BM25 full-text search, breadth-first search) and various reranking strategies.SearchConfig
TheSearchConfig class defines search behavior across different graph layers (edges, nodes, episodes, communities).
EdgeSearchConfig | None
Configuration for searching edges.
NodeSearchConfig | None
Configuration for searching nodes.
EpisodeSearchConfig | None
Configuration for searching episodes.
CommunitySearchConfig | None
Configuration for searching communities.
int
default:"10"
Maximum number of results to return.
float
default:"0"
Minimum score threshold for reranked results.
EdgeSearchConfig
Configuration for edge search operations.list[EdgeSearchMethod]
required
List of search methods to use. Options:
EdgeSearchMethod.cosine_similarity, EdgeSearchMethod.bm25, EdgeSearchMethod.bfs.EdgeReranker
default:"EdgeReranker.rrf"
Reranking strategy. Options:
rrf (reciprocal rank fusion), node_distance, episode_mentions, mmr (maximal marginal relevance), cross_encoder.float
Minimum similarity score for vector search results.
float
Lambda parameter for MMR reranking (diversity vs relevance tradeoff).
int
Maximum depth for breadth-first search.
NodeSearchConfig
Configuration for node search operations.list[NodeSearchMethod]
required
List of search methods to use. Options:
NodeSearchMethod.cosine_similarity, NodeSearchMethod.bm25, NodeSearchMethod.bfs.NodeReranker
default:"NodeReranker.rrf"
Reranking strategy. Options:
rrf, node_distance, episode_mentions, mmr, cross_encoder.float
Minimum similarity score for vector search results.
float
Lambda parameter for MMR reranking.
int
Maximum depth for breadth-first search.
EpisodeSearchConfig
Configuration for episode search operations.list[EpisodeSearchMethod]
required
List of search methods to use. Options:
EpisodeSearchMethod.bm25.EpisodeReranker
default:"EpisodeReranker.rrf"
Reranking strategy. Options:
rrf, cross_encoder.CommunitySearchConfig
Configuration for community search operations.list[CommunitySearchMethod]
required
List of search methods to use. Options:
CommunitySearchMethod.cosine_similarity, CommunitySearchMethod.bm25.CommunityReranker
default:"CommunityReranker.rrf"
Reranking strategy. Options:
rrf, mmr, cross_encoder.SearchResults
Container for search results across different graph layers.list[EntityEdge]
List of relevant entity edges.
list[float]
Reranker scores for edges (parallel to edges list).
list[EntityNode]
List of relevant entity nodes.
list[float]
Reranker scores for nodes (parallel to nodes list).
list[EpisodicNode]
List of relevant episodes.
list[float]
Reranker scores for episodes (parallel to episodes list).
list[CommunityNode]
List of relevant communities.
list[float]
Reranker scores for communities (parallel to communities list).
merge
list[SearchResults]
required
List of SearchResults objects to merge.
SearchFilters
Filters to apply when searching the graph.list[str] | None
Filter nodes by labels.
list[str] | None
Filter edges by type names.
list[list[DateFilter]] | None
Filter by valid_at timestamp (list of OR conditions, each containing AND conditions).
list[list[DateFilter]] | None
Filter by invalid_at timestamp.
list[list[DateFilter]] | None
Filter by created_at timestamp.
list[list[DateFilter]] | None
Filter by expired_at timestamp.
list[str] | None
Filter to specific edge UUIDs.
list[PropertyFilter] | None
Filter by custom properties.
Example
DateFilter
Filter for date-based queries.datetime | None
The datetime to filter on.
ComparisonOperator
required
Comparison operator:
equals, not_equals, greater_than, less_than, greater_than_equal, less_than_equal, is_null, is_not_null.PropertyFilter
Filter for custom property queries.str
required
Name of the property to filter on.
str | int | float | None
Value to match on for the property.
ComparisonOperator
required
Comparison operator for the property.
Search Config Recipes
Pre-configured search configurations for common use cases.COMBINED_HYBRID_SEARCH_CROSS_ENCODER
COMBINED_HYBRID_SEARCH_RRF
COMBINED_HYBRID_SEARCH_MMR
EDGE_HYBRID_SEARCH_RRF
EDGE_HYBRID_SEARCH_MMR
EDGE_HYBRID_SEARCH_NODE_DISTANCE
center_node_uuid parameter.