Module query_rewriter

Module query_rewriter 

Source
Expand description

Query rewriting and optimization for vector search

This module provides automatic query rewriting and optimization to improve search performance and accuracy. It transforms queries before execution using:

  • Query expansion: Add related terms/vectors
  • Query reduction: Remove redundant components
  • Parameter tuning: Optimize search parameters
  • Index selection hints: Suggest best indices to use
  • Semantic optimization: Improve semantic relevance

§Features

  • Rule-based rewriting
  • Statistics-driven optimization
  • Query plan caching
  • Performance prediction
  • Automatic parameter tuning

§Example

use oxirs_vec::query_rewriter::{QueryRewriter, RewriteRule};
use oxirs_vec::Vector;

let rewriter = QueryRewriter::new();

let query = Vector::new(vec![1.0, 2.0, 3.0]);
let rewritten = rewriter.rewrite(&query, 10).unwrap();

println!("Original k: 10, Optimized k: {}", rewritten.optimized_k);

Structs§

QueryRewriter
Query rewriter
QueryRewriterConfig
Query rewriting configuration
QueryVectorStatistics
Query statistics for optimization
RewrittenQuery
Rewritten query
RuleStatistics
Statistics for a rewrite rule

Enums§

RewriteRule
Rewrite rule