Hi,
I wanted to subclass StandardTokenizer to manipulate a little with
PositionAttribute. I wanted to increase steps between adjacent fields of
the same, so if there is a multi-value TextField:

fieldX: "name1 name2",
fieldX:"name3 name4"

then PhraseQuery like this fieldX:"name2 name3" would not return a result.
I was forced to create "empty" values like this:

fieldX: "name1 name2",
fieldX: "EMPTY_VALUE",
fieldX:"name3 name4"

to achieve it.

Regards,
MW



On Thu, Jan 12, 2017 at 1:10 AM, Michael McCandless <
luc...@mikemccandless.com> wrote:

> I don't think it's about efficiency but rather about not exposing
> possibly trappy APIs / usage ...
>
> Do you have a particular class/method that you'd want to remove final from?
>
> Mike McCandless
>
> http://blog.mikemccandless.com
>
>
> On Wed, Jan 11, 2017 at 4:15 PM, Michael Wilkowski <m...@silenteight.com>
> wrote:
> > Hi,
> > I sometimes wonder what is the purpose of so heavy "final" methods and
> > classes usage in Lucene. It makes it my life much harder to override
> > standard classes with some custom implementation.
> >
> > What comes first to my mind is runtime efficiency (compiler "knows" that
> > this class/method will not be overridden and may create more efficient
> code
> > without jump lookup tables and with method inlining). Is my assumption
> > correct or there are other benefits that were behind this decision?
> >
> > Regards,
> > Michael W.
>

Reply via email to