Hi All, I need to combine 3 different documents using hashjoin. I am using below query(ignore placeholder queries):
hashJoin(hashJoin(search(collectionName,q="*:*",fl="id",qt="/export",sort="id desc"), hashed = select(search(collectionName,q="*:*",fl="id",qt="/export",sort="id asc")),on="id"), hashed = select(search(collectionName,q="*:*",fl="id",qt="/export",sort="id asc")),on="id") This works with simple TupleStream in java. But I also need to pass auth token on zk. So I have to use below code: ZkClientClusterStateProvider zkCluster = new ZkClientClusterStateProvider(zkHosts, null); SolrZkClient zkServer = zkCluster.getZkStateReader().getZkClient(); StreamFactory streamFactory = new StreamFactory().withCollectionZkHost("collectionName"), zkServer.getZkServerAddress()) .withFunctionName("search", CloudSolrStream.class) .withFunctionName("hashJoin", HashJoinStream.class) .withFunctionName("select", SelectStream.class); try (HashJoinStream hashJoinStream = (HashJoinStream)streamFactory.constructStream(expr);){} Issue is one hashjoin with nested select and search works fine with this api. But the multiple hashjoin is not completing the task. I can see expression is correctly parsed, but its waiting indefinitely to complete the thread. Any help is appreciated. Thanks, Anamika