Rick Leir-2 wrote
> Peter
> The common setup is to use copyfield from all your fields into a 'grab
> bag' containing everything, and then to search on it alone. Cheers -- Rick
> 
> On August 2, 2017 7:31:10 AM EDT, Peter Kirk <

> pk@

> > wrote:
>>Hi - is it possible to create a query (or fq) which generates the field
>>to search on, based on whether or not the document has that field?
>>
>>Eg. Search for documents with prices in the range 100 - 200, using
>>either the field "price_owner_float" or "price_customer_float" (if a
>>document has a field "price_owner_float" then use that, otherwise use
>>the field "price_customer_float").
>>
>>This gives a syntax error:
>>fq=if(exists(price_owner_float),price_owner_float,price_customer_float):[100
>>TO 200]
>>
>>Thanks,
>>Peter
> 
> -- 
> Sorry for being brief. Alternate email is rickleir at yahoo dot com


Thanks, but I don't really think a general copy-field is what I want. I want
to specifically search for particular values in named fields.

For example:
if the document has a "field1" then use "field1:[1 TO 100]"; but if there is
no "field1", then check if there is a "field2"; if there is a "field2" then
use "field2:[1 TO 100]; but if there is no "field2", then use "field3:[1 TO
100].

Something like:
?q=*:*&fq=if(exists(field1),field1:[1 TO 100],if(exists(field2),field2:[1 TO
100], field3:[1 TO 100]))


But is this does not work.
Is it even possible?




--
Sent from: http://lucene.472066.n3.nabble.com/Solr-User-f472068.html

Reply via email to