[ 
https://issues.apache.org/jira/browse/SOLR-18307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18114093#comment-18114093
 ] 

Mikhail Khludnev commented on SOLR-18307:
-----------------------------------------

{code}
== steady-state cost (cold burst and drain tail excluded, rounds >= 2) ==
parser         p50      p90      p95      p99      max   vs fastest
joinglob        59       80       84      101      129      1.0x
aijoin         124      186      206      286      387      2.1x
joinnum        839     1234     1495     2172     3245     14.2x
join          3025     4028     4355     5349     6548     51.3x
{code}

> segment-parallel query time join with sidecar index 
> ----------------------------------------------------
>
>                 Key: SOLR-18307
>                 URL: https://issues.apache.org/jira/browse/SOLR-18307
>             Project: Solr
>          Issue Type: Improvement
>          Components: query
>            Reporter: Mikhail Khludnev
>            Assignee: Mikhail Khludnev
>            Priority: Major
>         Attachments: Screenshot from 2026-08-29 18-14-22.png
>
>
> Hereby I propose a new query-time join implementation
> * it's segment parallel 
> * it's lazy - utilizes Two-Phase searching and beneficial from highly 
> selective filter in "to"-side, as well as leap over whole "to" segments. 
> * uses Lucene DocValues in sidecar - just an addition, there's no hard 
> surgery on existing codebase. It's just a QParserPlugin.  
> * joins crosscore, and works in cloud mode
> * may use Memory Directory for sidecar
> * writes sidecar lazily, but you can write it ahead
> * sweeps segments which are not needed anymore 
> * the [simple benchmark|https://github.com/mkhludnev/aijoin-benchmark] 
> demonstrates a few times gain 
> WIP https://github.com/apache/solr/pull/4749
> benchmark: https://github.com/mkhludnev/aijoin-benchmark
> Caveat: during the demo 7/15/26 we evidence nearly the same size of sidecar 
> index. it should be further investigated. 
> Note: the name comes from Auxiliary Index Join. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to