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

Reply via email to