Mike,

Many thanks, it works perfectly now.

Cheers Greg

On 29 January 2017 at 11:28, Michael McCandless <luc...@mikemccandless.com>
wrote:

> That's right, just make your own analyzer, forked from
> StandardAnalyzer, and change out the StopFilter.  The analyzer is a
> tiny class and this (creating your own components in an analyzers) is
> normal practice...
>
> Mike McCandless
>
> http://blog.mikemccandless.com
>
>
> On Sat, Jan 28, 2017 at 6:09 AM, Greg Huber <gregh3...@gmail.com> wrote:
> > Michael,
> >
> > Thanks for the update, so I just duplicate StandardAnalyzer and replace :
> >
> >
> > //tok = new StopFilter(tok, stopwords);
> >   tok = new SuggestStopFilter(tok, stopwords);
> >
> > in createComponents(..)
> >
> > Is there a way I can just override the method as in
> AnalyzingInfixSuggester
> > rather than duplicating classes?
> >
> >
> > Cheers Greg
> >
> > On 28 January 2017 at 10:31, Michael McCandless <
> luc...@mikemccandless.com>
> > wrote:
> >>
> >> Hi Greg,
> >>
> >> OK StandardAnalyzer does indeed use StopFilter, with English stop
> >> words by default, which includes "will", so this explains what you are
> >> seeing.
> >>
> >> I suggest making your own analyzer just like StandardAnalyzer, except
> >> instead of StopFilter use the SuggestStopFilter class.
> >>
> >> That class was created for exactly the situation you're in, so that
> >> "will" would not be filtered out as a stop word, but "will " is
> >> (because it ends with a token separator).
> >>
> >> Either that or pass an empty stop word set to StandardAnalyzer, but
> >> then you have no stop word filtering.
> >>
> >> This short blog post explains SuggestStopFilter:
> >>
> >> http://blog.mikemccandless.com/2013/08/suggeststopfilter-
> carefully-removes.html
> >>
> >> Mike McCandless
> >>
> >> http://blog.mikemccandless.com
> >>
> >>
> >> On Sat, Jan 28, 2017 at 3:39 AM, Greg Huber <gregh3...@gmail.com>
> wrote:
> >> > Michael,
> >> >
> >> > I am using the standard analyzer eith no stop words, and is build from
> >> > an
> >> > existing lucene index.
> >> >
> >> > org.apache.lucene.search.suggest.analyzing.AnalyzingInfixSuggester
> >> >
> >> > I am overriding the addContextToQuery to make it an AND rather than an
> >> > OR
> >> >
> >> > public void addContextToQuery(Builder query, BytesRef context, Occur
> >> > clause)
> >> > {
> >> >         query.add(new TermQuery(new Term(CONTEXTS_FIELD_NAME,
> context)),
> >> >                 BooleanClause.Occur.MUST);
> >> >     }
> >> >
> >> > Cheers Greg
> >> >
> >> > On 27 January 2017 at 18:20, Michael McCandless
> >> > <luc...@mikemccandless.com>
> >> > wrote:
> >> >>
> >> >> Which suggester are you using?
> >> >>
> >> >> Maybe you are using a suggester with an analyzer, and your analysis
> >> >> chain includes a StopFilter and "will" is a stop word?
> >> >>
> >> >> Mike McCandless
> >> >>
> >> >> http://blog.mikemccandless.com
> >> >>
> >> >>
> >> >> On Fri, Jan 27, 2017 at 10:42 AM, Greg Huber <gregh3...@gmail.com>
> >> >> wrote:
> >> >> > Hello,
> >> >> >
> >> >> > Is there anyway to see why items are returned from the suggester?
> >> >> > Similar
> >> >> > to the search.
> >> >> >
> >> >> > I have a really strange case where if I enter 'will' (without the
> >> >> > quotes)
> >> >> > it seems to return all the search results.
> >> >> >
> >> >> > example:
> >> >> >
> >> >> > there should be two entries beginning with will*  ie william and
> >> >> > Willoughby
> >> >> >
> >> >> > wil >  two entries with correct highlight
> >> >> > will > all entries with NO highlight
> >> >> > willi > single entry
> >> >> > willo > single entry
> >> >> >
> >> >> > I have checked and I do not have will on all the entries!
> >> >> >
> >> >> > Cheers Greg
> >> >
> >> >
> >
> >
>

Reply via email to