Artem,

That's similar to how we manage our custom builds here - we grab a
tagged version and drop the whole thing into TFS.  With 2.9.1 we'll be
doing something similar along with providing patches to the tag with our
customizations should anyone else have use of them.

Michael

-----Original Message-----
From: Artem Chereisky [mailto:a.cherei...@gmail.com] 
Sent: Thursday, December 10, 2009 2:04 PM
To: lucene-net-user@incubator.apache.org
Subject: Re: idf on per-field basis

Michael,

QueryFilter is certainly the way to go for fields that don't require
scoring. Thanks for that.

Everyone,

Regarding making modifications to Lucene core and/or extending Lucene's
classes, what's the best practice for managing the changes?
I keep a Lucene repository under TortoiseSVN pointing to
https://svn.apache.org/repos/asf/incubator/lucene.net/tags/Lucene.Net_2_
4_0.
Then every time I make a core change or extend a Lucene class, I copy
the
files involved into a separate folder structure which is part of another
SVN
repository. That way I can source control my changes. The process is a
bit
cumbersome. Is there a better way?

Regards,
Artem



On Fri, Dec 11, 2009 at 5:09 AM, Michael Garski
<mgar...@myspace-inc.com>wrote:

> Artem,
>
> I've made modifications to the internals of Lucene.Net to achieve
> modifications to scoring, specifically in being able to manually
specify the
> length norm for a field, which allowed me to retain positional
information
> while injecting multi-term synonyms, so I wouldn't worry too much
about
> making a special build for yourself with a few changes.
>
> Would using a QueryFilter in conjunction with a query work?  The
> QueryFilter would be used on fields that scoring information was not
> necessary while the other fields would be queried with the specific
query
> you need.
>
> Michael
>
> -----Original Message-----
> From: Artem Chereisky [mailto:a.cherei...@gmail.com]
> Sent: Thursday, December 10, 2009 1:40 AM
> To: lucene-net-user@incubator.apache.org
> Cc: <lucene-net-user@incubator.apache.org>
> Subject: Re: idf on per-field basis
>
> Michael, thank you.
>
> Query filter only solves half of my problem. Unfortunately I do need
> to have a proper score for some fields.
>
> I ended up extending Term class (I removed sealed attribute which is a
> bad thing). The new myTerm class has one boolean member, omitIdf.
> Then, when I compile my queries, I use myTerm with omitIdf set to
> true, for some fields. Then I extended Similarity cladd and I cast
> Term passes into Idf method to myTerm and only calculate Idf if
> omitIdf is true. Seems to work.
>
> I don't like the solution but that's the best I could do today.
>
> Any thoughts?
>
> Regards,
> Artem
>
>
> On 10/12/2009, at 15:51, Michael Garski <mgar...@myspace-inc.com>
wrote:
>
> > Artem,
> >
> > Do you need any scoring information at all on that field?  How about
> > using a QueryFilter for those fields?
> >
> > Michael
> >
> >
> > -----Original Message-----
> > From: Artem Chereisky [mailto:a.cherei...@gmail.com]
> > Sent: Wed 12/9/2009 4:53 PM
> > To: lucene-net-user@incubator.apache.org;
> lucene-net-develo...@incubator.apache.org
> > Subject: idf on per-field basis
> >
> > Hi,
> >
> > I came across a situation when my scores are adversely affected by
> > the IDF
> > component. Let me explain.
> >
> > My index documents contain a number of fields, for some, TF and IDF
> > are
> > important and need to be taken into account, for others niether TF
> > nor IDF
> > should apply. I dealt with TF by omiting norms during indexing but I
> > can't
> > find a way to calculate IDF for certain fields only.
> >
> > The formula for IDF is defined in Similarity. I have my own
> > implementation
> > of Similarity where I can set it to 1 or use the default
> > implementation.
> > mySearcher.SetSimilarity is where I tell Lucene which similarity
> > instance to
> > use, but that's global, so it applies to all fields in the index.
> >
> > So, here's my question. Is there a way to calculate IDF on per-field
> > basis?
> >
> > Regards,
> > Art
> >
> >
>
>

Reply via email to