The contract to create a Weight is to repeatedly call rewrite() until the query 
is no longer changing, and then call createWeight - 
IndexSearcher.createNormalizedWeight() will do this for you.

Alan Woodward
www.flax.co.uk


> On 6 Jul 2017, at 12:34, Ranganath B N <ranganath....@huawei.com> wrote:
> 
> Thanks Alan. Solution works. But why should we first rewrite?
> 
> -----Original Message-----
> From: Alan Woodward [mailto:a...@flax.co.uk] 
> Sent: Thursday, July 06, 2017 4:36 PM
> To: java-user@lucene.apache.org
> Cc: Vadiraj Muradi
> Subject: Re: SpanMultiTermQueryWrapper issue in lucene 6.6.0
> 
> You need to call SpanNearQuery.rewrite(), and then call createWeight() on the 
> resulting query.
> 
> Alan Woodward
> www.flax.co.uk
> 
> 
>> On 6 Jul 2017, at 11:54, Ranganath B N <ranganath....@huawei.com> wrote:
>> 
>> Hi Adrien,
>> 
>>    This SpanQuery spt2 will be a component of the SpanQueryarray 
>> input to the constructor of the SpanNearQuery object. Then I call 
>> SpanNearQuery.createweight(....) which in turn  calls
>> SpanMultiTermQueryWrapper.createweight() and the " 
>> java.lang.IllegalArgumentException: Rewrite first!" is thrown
>> 
>> Thanks,
>> Ranganath B. N.
>> 
>> 
>> 
>> -----Original Message-----
>> From: Adrien Grand [mailto:jpou...@gmail.com]
>> Sent: Thursday, July 06, 2017 4:09 PM
>> To: java-user@lucene.apache.org
>> Cc: Vadiraj Muradi
>> Subject: Re: SpanMultiTermQueryWrapper issue in lucene 6.6.0
>> 
>> What is the context of this code? Depending whether you are just trying to 
>> consume this query or building a query wrapper, you should either call 
>> searcher.createNormalizedWeight(spt2, true) instead or make sure that your 
>> query wrapper rewrites the wrapped queries.
>> 
>> Le jeu. 6 juil. 2017 à 12:36, Ranganath B N <ranganath....@huawei.com> a 
>> écrit :
>> 
>>> Hi,
>>> 
>>>    Execution of the following code snippet
>>>      "RegexpQuery  regquery= new  RegexpQuery(new Term("text", 
>>> "regul.*"));
>>>      spt2 = new SpanMultiTermQueryWrapper<RegexpQuery>(regquery);
>>>      spt2.createWeight(searcher, true);"
>>> 
>>> throws  java.lang.IllegalArgumentException: Rewrite first!
>>> 
>>> 
>>> Can anyone suggest what is the problem with this?
>>> 
>>> Thanks,
>>> Ranganath B. N.
>>> 
>>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
>> For additional commands, e-mail: java-user-h...@lucene.apache.org
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: java-user-unsubscr...@lucene.apache.org
> For additional commands, e-mail: java-user-h...@lucene.apache.org
> 

Reply via email to