lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Narsi <bnars...@gmail.com>
Subject Re: Synonyms in Search Results and More Accurate Matches
Date Tue, 01 Dec 2015 13:10:13 GMT
I do not have synonyms enabled at query time. Below is my fieldtype

<fieldType name="txtedgsyn" class="solr.TextField"
positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt"
ignoreCase="true" expand="true" />
<filter class="solr.EdgeNGramFilterFactory" minGramSize="3"
maxGramSize="25"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>


On Tue, Dec 1, 2015 at 4:18 AM, Markus Jelsma <markus.jelsma@openindex.io>
wrote:

> Hello - it looks like you have synonyms enabled at query time, which is
> fine, but also means TF*IDF stats are different for tbrush and toothbrush,
> causing this order to be the way it is. There is no solution available in
> Solr right now that would boost user-entered terms over expanded synonyms
> but you can try this [1] plugin. You can solve the second problem by using
> phrase boosting in dismax, see the pf parameter.
>
> [1]: https://github.com/healthonnet/hon-lucene-synonyms
>
> M.
>
> -----Original message-----
> > From:Brian Narsi <bnarsi70@gmail.com>
> > Sent: Tuesday 1st December 2015 2:36
> > To: solr-user@lucene.apache.org
> > Subject: Synonyms in Search Results and More Accurate Matches
> >
> > I am using edismax with mm=1 and qs=6
> >
> > I have a field type with synonyms attached to it.
> > A sample synonym is:
> >
> > toothbrush tbrush
> >
> > For the following data:
> >
> > 1) Phillips toothbrush
> >
> > 2) Oral-B tbrush
> >
> > 3) Phillips Sonicare toothbrush
> >
> >
> > If a user searches for
> >
> > q = tbrush
> >
> > I am getting
> >
> > 1), 3), 2)
> >
> > i.e. the one with exact synonym match is last
> >
> > If a user searches for
> >
> > q = toothbrush
> >
> > Result is
> >
> > 2), 1), 3)
> >
> > i.e. one with exact match is not first
> >
> >
> > So
> >
> > 1) I need the exact matches to be first and then the other matches
> (because
> > of being a synonym)
> >
> > 2) If a user searches for Phillips Sonicare toothbrush; I need the
> results
> > in the following order 3), 1), 2) i.e. most relevant results should be
> > higher
> >
> > What changes do I need to make in order to accomplish this?
> >
> > Thanks in advance,
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message