Attached patch into the JIRA issue.
Reviews are welcome.

On Thu, Dec 19, 2013 at 7:24 PM, Isaac Hebsh <isaac.he...@gmail.com> wrote:

> Roman, do you have any results?
>
> created SOLR-5561
>
> Robert, if I'm wrong, you are welcome to close that issue.
>
>
> On Mon, Dec 9, 2013 at 10:50 PM, Isaac Hebsh <isaac.he...@gmail.com>wrote:
>
>> You can see the norm value, in the "explain" text, when setting
>> debugQuery=true.
>> If the same item gets different norm before/after, that's it.
>>
>> Note that this configuration is in schema.xml (not solrconfig.xml...)
>>
>> On Monday, December 9, 2013, Roman Chyla wrote:
>>
>>> Isaac, is there an easy way to recognize this problem? We also index
>>> synonym tokens in the same position (like you do, and I'm sure that our
>>> positions are set correctly). I could test whether the default similarity
>>> factory in solrconfig.xml had any effect (before/after reindexing).
>>>
>>> --roman
>>>
>>>
>>> On Mon, Dec 9, 2013 at 2:42 PM, Isaac Hebsh <isaac.he...@gmail.com>
>>> wrote:
>>>
>>> > Hi Robert and Manuel.
>>> >
>>> > The DefaultSimilarity indeed sets discountOverlap to true by default.
>>> > BUT, the *factory*, aka DefaultSimilarityFactory, when called by
>>> > IndexSchema (the getSimilarity method), explicitly sets this value to
>>> the
>>> > value of its corresponding class member.
>>> > This class member is initialized to be FALSE  when the instance is
>>> created
>>> > (like every boolean variable in the world). It should be set when
>>> "init"
>>> > method is called. If the parameter is not set in schema.xml, the
>>> default is
>>> > true.
>>> >
>>> > Everything seems to be alright, but the issue is that "init" method is
>>> NOT
>>> > called, if the similarity is not *explicitly* declared in schema.xml.
>>> In
>>> > that case, init method is not called, the discountOverlaps member (of
>>> the
>>> > factory class) remains FALSE, and getSimilarity explicitly calls
>>> > setDiscountOverlaps with value of FALSE.
>>> >
>>> > This is very easy to reproduce and debug.
>>> >
>>> >
>>> > On Mon, Dec 9, 2013 at 9:19 PM, Robert Muir <rcm...@gmail.com> wrote:
>>> >
>>> > > no, its turned on by default in the default similarity.
>>> > >
>>> > > as i said, all that is necessary is to fix your analyzer to emit the
>>> > > proper position increments.
>>> > >
>>> > > On Mon, Dec 9, 2013 at 12:27 PM, Manuel Le Normand
>>> > > <manuel.lenorm...@gmail.com> wrote:
>>> > > > In order to set discountOverlaps to true you must have added the
>>> > > > <similarity class="solr.DefaultSimilarityFactory"> to the
>>> schema.xml,
>>> > > which
>>> > > > is commented out by default!
>>> > > >
>>> > > > As by default this param is false, the above situation is expected
>>> with
>>> > > > correct positioning, as said.
>>> > > >
>>> > > > In order to fix the field norms you'd have to reindex with the
>>> > similarity
>>> > > > class which initializes the param to true.
>>> > > >
>>> > > > Cheers,
>>> > > > Manu
>>> > >
>>> >
>>>
>>
>

Reply via email to