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 >>> > > >>> > >>> >> >