Re: Query formulation help
Assuming these are numerics, use function queries I should think, see: https://cwiki.apache.org/confluence/display/solr/Function+Queries#FunctionQueries-AvailableFunctions. You'll see lt, gt, etc. Best, Erick On Fri, Nov 4, 2016 at 11:23 PM, Prasanna S. Dhakephalkar wrote: > Hi John, > > I need to formulate a query where the both query variable are from document. > Like get me all documents where var_1 > var_2 (var_1 and var_2 both are in > document.) > > Thanks and Regards, > > Prasanna. > > > -Original Message- > From: John Bickerstaff [mailto:j...@johnbickerstaff.com] > Sent: Wednesday, October 26, 2016 9:26 PM > To: solr-user@lucene.apache.org > Subject: Re: Query formulation help > > For what it's worth- you can do some complex stuff - including using document > fields as "variables" -- I did it on an Solr query endpoint (like > /search) because I had stuff that was constant for every query. The syntax > is challenging, but it can be done. > > I won't confuse the issue more unless you need something like that - let me > know if you do. > > On Wed, Oct 26, 2016 at 9:52 AM, Tom Evans wrote: > >> On Wed, Oct 26, 2016 at 4:00 PM, Prasanna S. Dhakephalkar >> wrote: >> > Hi, >> > >> > Thanks for reply, I did >> > >> > "q": "cost:[2 TO (2+5000)]" >> > >> > Got >> > >> > "error": { >> > "msg": "org.apache.solr.search.SyntaxError: Cannot parse >> 'cost:[2 to (2+5000)]': Encountered \" \"(2+5000) >> \"\" at line 1, column 18.\nWas expecting one of:\n\"]\" ...\n\"}\" >> ...\n", >> > } >> > >> > I want solr to do the addition. >> > I tried >> > "q": "cost:[2 TO (2+5000)]" >> > "q": "cost:[2 TO sum(2,5000)]" >> > >> > I has not worked. I am missing something. I donot know what. May be >> > how >> to invoke functions. >> > >> > Regards, >> > >> > Prasanna. >> >> Sorry, I was unclear - do the maths before constructing the query! >> >> You might be able to do this with function queries, but why bother? If >> the number is fixed, then fix it in the query, if it varies then there >> must be some code executing on your client that can be used to do a >> simple addition. >> >> Cheers >> >> Tom >> >
RE: Query formulation help
Hi John, I need to formulate a query where the both query variable are from document. Like get me all documents where var_1 > var_2 (var_1 and var_2 both are in document.) Thanks and Regards, Prasanna. -Original Message- From: John Bickerstaff [mailto:j...@johnbickerstaff.com] Sent: Wednesday, October 26, 2016 9:26 PM To: solr-user@lucene.apache.org Subject: Re: Query formulation help For what it's worth- you can do some complex stuff - including using document fields as "variables" -- I did it on an Solr query endpoint (like /search) because I had stuff that was constant for every query. The syntax is challenging, but it can be done. I won't confuse the issue more unless you need something like that - let me know if you do. On Wed, Oct 26, 2016 at 9:52 AM, Tom Evans wrote: > On Wed, Oct 26, 2016 at 4:00 PM, Prasanna S. Dhakephalkar > wrote: > > Hi, > > > > Thanks for reply, I did > > > > "q": "cost:[2 TO (2+5000)]" > > > > Got > > > > "error": { > > "msg": "org.apache.solr.search.SyntaxError: Cannot parse > 'cost:[2 to (2+5000)]': Encountered \" \"(2+5000) > \"\" at line 1, column 18.\nWas expecting one of:\n\"]\" ...\n\"}\" > ...\n", > > } > > > > I want solr to do the addition. > > I tried > > "q": "cost:[2 TO (2+5000)]" > > "q": "cost:[2 TO sum(2,5000)]" > > > > I has not worked. I am missing something. I donot know what. May be > > how > to invoke functions. > > > > Regards, > > > > Prasanna. > > Sorry, I was unclear - do the maths before constructing the query! > > You might be able to do this with function queries, but why bother? If > the number is fixed, then fix it in the query, if it varies then there > must be some code executing on your client that can be used to do a > simple addition. > > Cheers > > Tom >
RE: Query formulation help
John, You are right, I am also looking for document fields as variables. That was going to be my next trials. I have been using admin panel for trying out queries. Regards, Prasanna. -Original Message- From: John Bickerstaff [mailto:j...@johnbickerstaff.com] Sent: Wednesday, October 26, 2016 9:26 PM To: solr-user@lucene.apache.org Subject: Re: Query formulation help For what it's worth- you can do some complex stuff - including using document fields as "variables" -- I did it on an Solr query endpoint (like /search) because I had stuff that was constant for every query. The syntax is challenging, but it can be done. I won't confuse the issue more unless you need something like that - let me know if you do. On Wed, Oct 26, 2016 at 9:52 AM, Tom Evans wrote: > On Wed, Oct 26, 2016 at 4:00 PM, Prasanna S. Dhakephalkar > wrote: > > Hi, > > > > Thanks for reply, I did > > > > "q": "cost:[2 TO (2+5000)]" > > > > Got > > > > "error": { > > "msg": "org.apache.solr.search.SyntaxError: Cannot parse > 'cost:[2 to (2+5000)]': Encountered \" \"(2+5000) > \"\" at line 1, column 18.\nWas expecting one of:\n\"]\" ...\n\"}\" > ...\n", > > } > > > > I want solr to do the addition. > > I tried > > "q": "cost:[2 TO (2+5000)]" > > "q": "cost:[2 TO sum(2,5000)]" > > > > I has not worked. I am missing something. I donot know what. May be > > how > to invoke functions. > > > > Regards, > > > > Prasanna. > > Sorry, I was unclear - do the maths before constructing the query! > > You might be able to do this with function queries, but why bother? If > the number is fixed, then fix it in the query, if it varies then there > must be some code executing on your client that can be used to do a > simple addition. > > Cheers > > Tom >
Re: Query formulation help
For what it's worth- you can do some complex stuff - including using document fields as "variables" -- I did it on an Solr query endpoint (like /search) because I had stuff that was constant for every query. The syntax is challenging, but it can be done. I won't confuse the issue more unless you need something like that - let me know if you do. On Wed, Oct 26, 2016 at 9:52 AM, Tom Evans wrote: > On Wed, Oct 26, 2016 at 4:00 PM, Prasanna S. Dhakephalkar > wrote: > > Hi, > > > > Thanks for reply, I did > > > > "q": "cost:[2 TO (2+5000)]" > > > > Got > > > > "error": { > > "msg": "org.apache.solr.search.SyntaxError: Cannot parse > 'cost:[2 to (2+5000)]': Encountered \" \"(2+5000) > \"\" at line 1, column 18.\nWas expecting one of:\n\"]\" ...\n\"}\" > ...\n", > > } > > > > I want solr to do the addition. > > I tried > > "q": "cost:[2 TO (2+5000)]" > > "q": "cost:[2 TO sum(2,5000)]" > > > > I has not worked. I am missing something. I donot know what. May be how > to invoke functions. > > > > Regards, > > > > Prasanna. > > Sorry, I was unclear - do the maths before constructing the query! > > You might be able to do this with function queries, but why bother? If > the number is fixed, then fix it in the query, if it varies then there > must be some code executing on your client that can be used to do a > simple addition. > > Cheers > > Tom >
Re: Query formulation help
On Wed, Oct 26, 2016 at 4:00 PM, Prasanna S. Dhakephalkar wrote: > Hi, > > Thanks for reply, I did > > "q": "cost:[2 TO (2+5000)]" > > Got > > "error": { > "msg": "org.apache.solr.search.SyntaxError: Cannot parse 'cost:[2 to > (2+5000)]': Encountered \" \"(2+5000) \"\" at line 1, > column 18.\nWas expecting one of:\n\"]\" ...\n\"}\" ...\n", > } > > I want solr to do the addition. > I tried > "q": "cost:[2 TO (2+5000)]" > "q": "cost:[2 TO sum(2,5000)]" > > I has not worked. I am missing something. I donot know what. May be how to > invoke functions. > > Regards, > > Prasanna. Sorry, I was unclear - do the maths before constructing the query! You might be able to do this with function queries, but why bother? If the number is fixed, then fix it in the query, if it varies then there must be some code executing on your client that can be used to do a simple addition. Cheers Tom
Re: Query formulation help
Ahh - I see what you're after (I think) This page should be helpful for you: https://cwiki.apache.org/confluence/display/solr/Function+Queries again, I'd try using the Admin UI as a test phase to get things right (and see the syntax in the URL that comes back on the response) Open the edismax section of the Admin UI to find fields that you can use to enter function queries and things like this... In the case of X + Y, you're probably interested in the "sum" function HTH... On Wed, Oct 26, 2016 at 9:28 AM, Shawn Heisey wrote: > On 10/26/2016 9:00 AM, Prasanna S. Dhakephalkar wrote: > > Hi, Thanks for reply, I did "q": "cost:[2 TO (2+5000)]" > > Solr doesn't support doing math in that way in a query, except with > dates. It's invalid syntax for a range query. Tom's reply was correct, > but was phrased in a way that makes a potential promise that Solr won't > deliver. > > https://cwiki.apache.org/confluence/display/solr/Working+with+Dates# > WorkingwithDates-DateMath > > There might be a way to somehow use function query to do it, but if it's > possible, I do not know how to write it. If it's even possible, the > syntax probably would not be straightforward. > > The way I would do your query is to have my code do the calculation and > use 25000 directly instead of 2+5000. > > Thanks, > Shawn > >
Re: Query formulation help
On 10/26/2016 9:00 AM, Prasanna S. Dhakephalkar wrote: > Hi, Thanks for reply, I did "q": "cost:[2 TO (2+5000)]" Solr doesn't support doing math in that way in a query, except with dates. It's invalid syntax for a range query. Tom's reply was correct, but was phrased in a way that makes a potential promise that Solr won't deliver. https://cwiki.apache.org/confluence/display/solr/Working+with+Dates#WorkingwithDates-DateMath There might be a way to somehow use function query to do it, but if it's possible, I do not know how to write it. If it's even possible, the syntax probably would not be straightforward. The way I would do your query is to have my code do the calculation and use 25000 directly instead of 2+5000. Thanks, Shawn
Re: Query formulation help
It looks to me as if it's blowing up on syntax. I don't have access to the Admin UI right now, but I would suggest attempting to submit this query via the UI and examining the URL that comes back. That frequently solves my more frustrating syntax problems. I.E. try putting the cost:[...] in the query box on the UI (no quotes as a first try) and see what happens Alternatively, try putting cost as the query field (qf) and just the 2 TO (2000) in the query box... Apologies - I don't have the UI in front of me or I'd try it myself, but this is the general idea - try to issue the query in the Admin UI and observe the syntax in the URL that is returned at the top of the page along with the results. On Wed, Oct 26, 2016 at 9:00 AM, Prasanna S. Dhakephalkar < prasann...@merajob.in> wrote: > Hi, > > Thanks for reply, I did > > "q": "cost:[2 TO (2+5000)]" > > Got > > "error": { > "msg": "org.apache.solr.search.SyntaxError: Cannot parse 'cost:[2 > to (2+5000)]': Encountered \" \"(2+5000) \"\" at line > 1, column 18.\nWas expecting one of:\n\"]\" ...\n\"}\" ...\n", > } > > I want solr to do the addition. > I tried > "q": "cost:[2 TO (2+5000)]" > "q": "cost:[2 TO sum(2,5000)]" > > I has not worked. I am missing something. I donot know what. May be how to > invoke functions. > > Regards, > > Prasanna. > > > -Original Message- > From: Tom Evans [mailto:tevans...@googlemail.com] > Sent: Wednesday, October 26, 2016 3:07 PM > To: solr-user@lucene.apache.org > Subject: Re: Query formulation help > > On Wed, Oct 26, 2016 at 8:03 AM, Prasanna S. Dhakephalkar < > prasann...@merajob.in> wrote: > > Hi, > > > > > > > > May be very rudimentary question > > > > > > > > There is a integer field in a core : "cost" > > > > Need to build a query that will return documents where 0 < > > "cost"-given_number < 500 > > > > cost:[given_number TO (500+given_number)] > >
RE: Query formulation help
Hi, Thanks for reply, I did "q": "cost:[2 TO (2+5000)]" Got "error": { "msg": "org.apache.solr.search.SyntaxError: Cannot parse 'cost:[2 to (2+5000)]': Encountered \" \"(2+5000) \"\" at line 1, column 18.\nWas expecting one of:\n\"]\" ...\n\"}\" ...\n", } I want solr to do the addition. I tried "q": "cost:[2 TO (2+5000)]" "q": "cost:[2 TO sum(2,5000)]" I has not worked. I am missing something. I donot know what. May be how to invoke functions. Regards, Prasanna. -Original Message----- From: Tom Evans [mailto:tevans...@googlemail.com] Sent: Wednesday, October 26, 2016 3:07 PM To: solr-user@lucene.apache.org Subject: Re: Query formulation help On Wed, Oct 26, 2016 at 8:03 AM, Prasanna S. Dhakephalkar wrote: > Hi, > > > > May be very rudimentary question > > > > There is a integer field in a core : "cost" > > Need to build a query that will return documents where 0 < > "cost"-given_number < 500 > cost:[given_number TO (500+given_number)]
Re: Query formulation help
On Wed, Oct 26, 2016 at 8:03 AM, Prasanna S. Dhakephalkar wrote: > Hi, > > > > May be very rudimentary question > > > > There is a integer field in a core : "cost" > > Need to build a query that will return documents where 0 < > "cost"-given_number < 500 > cost:[given_number TO (500+given_number)]