Hi All, I have written a blog to cover this nested merge expressions, see http://knackforge.com/blog/selvam/solr-streaming-expressions for more details.
Thanks. On Mon, Aug 10, 2015 at 3:51 PM, Selvam <s.selvams...@gmail.com> wrote: > Hi, > > Thanks, that seems to be working! > > On Sat, Aug 8, 2015 at 9:28 PM, Joel Bernstein <joels...@gmail.com> wrote: > >> This sounds doable using nested merge functions like this: >> >> merge(search(...), >> merge(search(...), search(),...), ...) >> >> Joel Bernstein >> http://joelsolr.blogspot.com/ >> >> On Sat, Aug 8, 2015 at 8:08 AM, Selvam <s.selvams...@gmail.com> wrote: >> >> > Hi, >> > >> > I needed to run a multiple subqueries each with its own limit of rows. >> > >> > For eg: to get 30 users from country India with age greater than 30 and >> 50 >> > users from England who are all male. >> > >> > Thanks again. >> > On 08-Aug-2015 5:30 pm, "Joel Bernstein" <joels...@gmail.com> wrote: >> > >> > > Can you describe your use case? >> > > >> > > Joel Bernstein >> > > http://joelsolr.blogspot.com/ >> > > >> > > On Sat, Aug 8, 2015 at 7:36 AM, Selvam <s.selvams...@gmail.com> >> wrote: >> > > >> > > > Hi, >> > > > >> > > > Thanks, good to know, in fact my requirement needs to merge multiple >> > > > expressions, while current streaming expressions supports only two >> > > > expression. Do you think we can expect that in future versions? >> > > > On 07-Aug-2015 6:46 pm, "Joel Bernstein" <joels...@gmail.com> >> wrote: >> > > > >> > > > > Hi, >> > > > > >> > > > > There is a new error handling framework in trunk (SOLR-7441) for >> the >> > > > > Streaming API, Streaming Expressions. >> > > > > >> > > > > So if you're purely in testing mode, it will be much easier to >> work >> > in >> > > > > trunk then Solr 5.2. >> > > > > >> > > > > If you run into errors in trunk that are still confusing please >> > > continue >> > > > to >> > > > > report them so we can get all the error messages covered. >> > > > > >> > > > > Thanks, >> > > > > >> > > > > Joel >> > > > > >> > > > > >> > > > > Joel Bernstein >> > > > > http://joelsolr.blogspot.com/ >> > > > > >> > > > > On Fri, Aug 7, 2015 at 6:19 AM, Selvam <s.selvams...@gmail.com> >> > wrote: >> > > > > >> > > > > > Hi, >> > > > > > >> > > > > > Sorry, it is working now. >> > > > > > >> > > > > > curl --data-urlencode >> > > > > > 'stream=search(gettingstarted,q="*:*",fl="id",sort="id asc")' >> > > > > > http://localhost:8983/solr/gettingstarted/stream >> > > > > > >> > > > > > I missed *'asc'* in sort :) >> > > > > > >> > > > > > Thanks for the help Shawn Heisey. >> > > > > > >> > > > > > On Fri, Aug 7, 2015 at 3:46 PM, Selvam <s.selvams...@gmail.com> >> > > wrote: >> > > > > > >> > > > > > > Hi, >> > > > > > > >> > > > > > > Thanks for your update, yes, I was missing the cloud mode, I >> am >> > new >> > > > to >> > > > > > the >> > > > > > > world of Solr cloud. Now I have enabled a single node (with >> two >> > > > shards >> > > > > & >> > > > > > > replicas) that runs on 8983 port along with zookeeper running >> on >> > > 9983 >> > > > > > port. >> > > > > > > When I run, >> > > > > > > >> > > > > > > curl --data-urlencode >> > > > > > > 'stream=search(gettingstarted,q="*:*",fl="id",sort="id")' >> > > > > > > http://localhost:8983/solr/gettingstarted/stream >> > > > > > > >> > > > > > > Again, I get >> > > > > > > >> > > > > > > "Unable to construct instance of >> > > > > > > org.apache.solr.client.solrj.io.stream.CloudSolrStream >> > > > > > > . >> > > > > > > . >> > > > > > > >> > > > > > > Caused by: java.lang.reflect.InvocationTargetException >> > > > > > > . >> > > > > > > . >> > > > > > > Caused by: java.lang.ArrayIndexOutOfBoundsException: 1" >> > > > > > > >> > > > > > > I tried different port, 9983 as well, which returns "Empty >> reply >> > > from >> > > > > > > server". I think I miss some obvious configuration. >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > >> > > > > > > On Fri, Aug 7, 2015 at 2:04 PM, Shawn Heisey < >> > apa...@elyograg.org> >> > > > > > wrote: >> > > > > > > >> > > > > > >> On 8/7/2015 1:37 AM, Selvam wrote: >> > > > > > >> > >> > > > > > >> > > >> https://cwiki.apache.org/confluence/display/solr/Streaming+Expressions >> > > > > > >> > >> > > > > > >> > I tried this from my linux terminal, >> > > > > > >> > 1) curl --data-urlencode >> > > > > > >> > 'stream=search(gettingstarted,q="*:*",fl="id",sort="id")' >> > > > > > >> > http://localhost:8983/solr/gettingstarted/stream >> > > > > > >> > >> > > > > > >> > Threw zkHost error. Then tried with, >> > > > > > >> > >> > > > > > >> > 2) curl --data-urlencode >> > > > > > >> > >> > > > > > >> >> > > > > > >> > > > > >> > > > >> > > >> > >> 'stream=search(gettingstarted,zkHost="localhost:8983",q="*:*",fl="id",sort="id")' >> > > > > > >> > http://localhost:8983/solr/gettingstarted/stream >> > > > > > >> > >> > > > > > >> > It throws me "java.lang.ArrayIndexOutOfBoundsException: >> > 1\n\tat >> > > > > > >> > >> > > > > > >> >> > > > > > >> > > > > >> > > > >> > > >> > >> org.apache.solr.client.solrj.io.stream.CloudSolrStream.parseComp(CloudSolrStream.java:260)" >> > > > > > >> >> > > > > > >> The documentation page you linked seems to indicate that this >> > is a >> > > > > > >> feature that only works in SolrCloud. Your inclusion of >> > > > > > >> "localhost:8983" as the zkHost suggests that either you are >> NOT >> > > > > running >> > > > > > >> in cloud mode, or that you do not understand what zkHost >> means. >> > > > > > >> >> > > > > > >> Zookeeper runs on a different port than Solr. 8983 is Solr's >> > > port. >> > > > > If >> > > > > > >> you are running a 5.x cloud with the embedded zookeeper, it >> is >> > > most >> > > > > > >> likely running on port 9983. If you are running in cloud >> mode >> > > with >> > > > a >> > > > > > >> properly configured external zookeeper, then your zkHost >> > parameter >> > > > > will >> > > > > > >> probably have three hosts in it with port 2181. >> > > > > > >> >> > > > > > >> Thanks, >> > > > > > >> Shawn >> > > > > > >> >> > > > > > >> >> > > > > > > >> > > > > > > >> > > > > > > -- >> > > > > > > Regards, >> > > > > > > Selvam >> > > > > > > KnackForge <http://knackforge.com> >> > > > > > > Acquia Service Partner >> > > > > > > No. 1, 12th Line, K.K. Road, Venkatapuram, >> > > > > > > Ambattur, Chennai, >> > > > > > > Tamil Nadu, India. >> > > > > > > PIN - 600 053. >> > > > > > > >> > > > > > >> > > > > > >> > > > > > >> > > > > > -- >> > > > > > Regards, >> > > > > > Selvam >> > > > > > KnackForge <http://knackforge.com> >> > > > > > Acquia Service Partner >> > > > > > No. 1, 12th Line, K.K. Road, Venkatapuram, >> > > > > > Ambattur, Chennai, >> > > > > > Tamil Nadu, India. >> > > > > > PIN - 600 053. >> > > > > > >> > > > > >> > > > >> > > >> > >> > > > > -- > Regards, > Selvam > KnackForge <http://knackforge.com> > Acquia Service Partner > No. 1, 12th Line, K.K. Road, Venkatapuram, > Ambattur, Chennai, > Tamil Nadu, India. > PIN - 600 053. > -- Regards, Selvam KnackForge <http://knackforge.com> Acquia Service Partner No. 1, 12th Line, K.K. Road, Venkatapuram, Ambattur, Chennai, Tamil Nadu, India. PIN - 600 053.