Because leading negative clauses don't work. The (*:* AND x) syntax
means "select everything AND also select x".

You could also do
(+category:xyz +price:[100 TO *]) -category:xyz

On Tue, May 11, 2010 at 12:36 PM, Satish Kumar
<satish.kumar.just.d...@gmail.com> wrote:
> thanks Ahmet.
>
> (+category:xyz +price:[100 TO *]) (+*:* -category:xyz)
> why do we have to use (+*:* -category:xyz) instead of  -category:xyz?
>
>
>
> On Tue, May 11, 2010 at 3:08 PM, Ahmet Arslan <iori...@yahoo.com> wrote:
>
>> > How do I implement a requirement like "if category is xyz,
>> > the price should
>> > be greater than 100 for inclusion in the result set".
>> >
>> > In other words, the result set should contain:
>> > - all matching documents with category value not xyz
>> > - all matching documents with category value xyz and price
>> > > 100
>> >
>> > I was thinking something like fq=(-category:xyz OR
>> > (category:xyz AND price >
>> > 100))
>> >
>> > this doesn't seem to work. Any suggestions will be greatly
>> > appreciated.
>>
>> Something like this should work:
>> (+category:xyz +price:[100 TO *]) (+*:* -category:xyz)
>>
>> and your price field must be one of the trie based fields.
>>
>>
>>
>>
>



-- 
Lance Norskog
goks...@gmail.com

Reply via email to