Support benchmarking of Solr streaming expressions

Open
#13 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
48/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
python

Research direction

Start by locating the existing query and bulk-index workload definitions and drivers, then compare their interfaces with the Solr /stream endpoint. Add the streaming-expression operation and a sample under benchmarks/, with timing, tuple-count, rows-returned, execution-time, and error-rate metrics. Done means the sample workload runs and its results can be compared across Solr versions or cluster configurations.

Written by the indexing model from the issue text.

Description

Summary

Solr Streaming Expressions
are a powerful distributed computation API, but Solr Orbit has no dedicated support for
benchmarking them. This issue tracks adding first-class streaming expression support.

Motivation

  • Streaming expressions cover aggregation, faceting, parallel SQL, graph traversal, and
    machine learning scoring — workloads that differ significantly from standard query
    benchmarks
  • Teams running Solr for analytics or ETL pipelines need a way to compare expression
    performance across Solr versions or cluster configurations

Proposed scope

  1. New operation type: streaming-expression in workload definitions, analogous to
    the existing query and bulk-index operations
  2. Dedicated driver: Execute expressions via /stream endpoint, collect timing and
    tuple-count metrics
  3. Telemetry: Capture rows-returned, execution-time, and error rate per expression
  4. Sample workload: Add an example workload in benchmarks/ that exercises common
    streaming patterns (search, facet, rollup, jdbc-like aggregation)

References

Dominant language
Python
Stars
3
Forks
5
Avg merge
5d 17h
Merged PRs (30d)
8

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/solr-orbit

All issues in apache/solr-orbit

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.