[
https://issues.apache.org/jira/browse/SOLR-18307?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Khludnev updated SOLR-18307:
------------------------------------
Description:
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 "two" 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
* simple benchmark demonstrates a few times gain
WIP https://github.com/mkhludnev/solr/tree/aijoin-qparser
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.
was:
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 "two" 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
* simple benchmark demonstrates a few times gain
WIP https://github.com/mkhludnev/solr/tree/aijoin-qparser
Caveat: during the demo 7/15/26 we evidence nearly the same size of sidecar
index. it should be further investigated.
> 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
>
> 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 "two" 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
> * simple benchmark demonstrates a few times gain
> WIP https://github.com/mkhludnev/solr/tree/aijoin-qparser
> 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]