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.jel...@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 <bnars...@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, > > >