Hello, I'm new to streaming expressions, so I'm trying to understand their features and limitations. In particular the so-called "stream operators" implementing join operations. Like "innerJoin", "leftOuterJoin", etc.
I see that they support a "on" parameter, defining the *equality* check to be performed. But, coming from the SQL world, I'm used to being able to use a variety of comparison operators in join predicates. That is, not only equality, as in "equi-joins". Is there a reason why the current implementation of Solr supports equi-joins only? Would it be technically possible (and desired) to support other comparison operators with joins? And maybe somehow allow the use of the available stream evaluators <https://solr.apache.org/guide/8_11/stream-evaluator-reference.html>? To give the context of my question: I'm trying to join 2 sets of documents with a hierarchical relationship. My goal is to join them using a "path" field on one side and "descendent_path" field on the other side. But it looks like that only doc values are accessible (and not analyzed ones) in streams, so I suppose I'd be left with a join criteria like this pseudo-code: > on="starts_with(right.path, left.path)" Where, in this hypothetical example: > left.path=/categories/category1" > right.path=/categories/category1/sub-categories/sub-category-a" Or do I completely misunderstand how Solr (streams) work? ;-) Thanks for your help! Regards, -- Damiano Albani