lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From William Bell <billnb...@gmail.com>
Subject Re: Issue with if() statement
Date Fri, 01 Jan 2016 21:15:01 GMT
Another weirdness:

http://localhost:8983/solr/providersearch/select?wt=json&state=state:CO&state1=state:NY&fl=*&q=*:*&tt=$state1&fq={!lucene%20v=$tt}

That does not return anything.

But if I set v=$state1 I get results.

Can I not set equivalent variables?



On Fri, Jan 1, 2016 at 2:07 PM, William Bell <billnbell@gmail.com> wrote:

> Example.
>
>
> http://localhost:8983/solr/providersearch/select?wt=json&state=state:%22CO%22&state1=state:%22NY%22&fl=ss,score&q=*:*&fq={!lucene%20v=$state1}
> <http://localhost:8983/solr/providersearch/select?wt=json&state=state:%22CO%22&state1=state:%22NY%22&fl=ss,score&q=*:*&fq=%7B!lucene%20v=$state1%7D>
>
> This return 236,000
>
>
> http://localhost:8983/solr/providersearch/select?wt=json&state=state:%22CO%22&state1=state:%22NY%22&fl=ss,score&q=*:*&fq={!lucene%20v=$state}
> <http://localhost:8983/solr/providersearch/select?wt=json&state=state:%22CO%22&state1=state:%22NY%22&fl=ss,score&q=*:*&fq=%7B!lucene%20v=$state%7D>
>
> This returns 10,000
>
> I want to put an IF statement around which v to use.
>
>
>
>
>
>
> On Fri, Jan 1, 2016 at 1:52 PM, William Bell <billnbell@gmail.com> wrote:
>
>> Sure.
>>
>> If the state:NY returns results filter by state:NY, if it does not, then
>> use state:CO. If we have results in NY, use it, otherwise use CO.
>>
>> OK?
>>
>> On Fri, Jan 1, 2016 at 1:15 PM, Upayavira <uv@odoko.co.uk> wrote:
>>
>>>
>>>
>>> On Thu, Dec 31, 2015, at 11:50 PM, William Bell wrote:
>>> > We are getting weird results with if(exists(a),b,c). We are getting
>>> b+c!!
>>> >
>>> >
>>> http://localhost:8983/solr/providersearch/select?q=*:*&wt=json&state=state:%22CO%22&state1=state:%22NY%22&fq=if(exists(query($state1)),{!lucene%20v=$state1},{!lucene%20v=$state})
>>> <http://localhost:8983/solr/providersearch/select?q=*:*&wt=json&state=state:%22CO%22&state1=state:%22NY%22&fq=if(exists(query($state1)),%7B!lucene%20v=$state1%7D,%7B!lucene%20v=$state%7D)>
>>> >
>>> > I am getting NY and CO!
>>> >
>>> > I only want $state1, which is NY.
>>> >
>>> > Any other ways to craft this?
>>>
>>> Does this work at all?
>>>
>>> The if() function is a function query that can be used to sort, boost
>>> and as calculated fields. I haven't seen them used in filtering.
>>>
>>> Also, the query() function does *not* do a query, it just says "what
>>> would this document score for this query?"
>>>
>>> Can you describe in English what you are trying to do?
>>>
>>> Upayavira
>>>
>>
>>
>>
>> --
>> Bill Bell
>> billnbell@gmail.com
>> cell 720-256-8076
>>
>
>
>
> --
> Bill Bell
> billnbell@gmail.com
> cell 720-256-8076
>



-- 
Bill Bell
billnbell@gmail.com
cell 720-256-8076

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message