I have found that this is possible, but currently I have problems if the field name to join in all the 3 collections are different.
For example, if in "people" collection, it is called personId, and in "pets" collection, it is called petsId. But in "collectionId", it is called collectionName, but it won't work when I place it this way below. Any suggestions on how I can handle this? innerJoin(innerJoin( search(people, q=*:*, fl="personId,name", sort="personId asc"), search(pets, q=type:cat, fl="pertsId,petName", sort="personId asc"), on="personId=petsId" ), search(collection1, q=*:*, fl="collectionId,collectionName", sort="personId asc"), )on="personId=collectionId" Regards, Edwin On 14 June 2017 at 23:13, Zheng Lin Edwin Yeo <edwinye...@gmail.com> wrote: > Hi, > > I'm using Solr 6.5.1. > > Is it possible to have multiple hashJoin or innerJoin in the query? > > An example will be something like this for innerJoin: > > innerJoin(innerJoin( > search(people, q=*:*, fl="personId,name", sort="personId asc"), > search(pets, q=type:cat, fl="personId,petName", sort="personId asc"), > on="personId" > ), > search(collection1, q=*:*, fl="personId,personName", sort="personId > asc"), > ) > > Regards, > Edwin >