I would suggest you to read this in details :

*DocumentDictionaryFactory*
> A dictionary with terms, weights, and an optional payload taken from the
> index.
> This dictionary implementation takes the following parameters in addition
> to parameters described for the Suggester generally and for the lookup
> implementation:
>
>    - weightField: A field that is stored or a numeric DocValue field.
>    This field is optional.
>
>
>    - payloadField: The payloadField should be a field that is stored.
>    This field is optional.
>
>
>    - contextField: Field to be used for context filtering. Note that only
>    some lookup implementations support filtering.
>
> DocumentExpressionDictionaryFactory
> This dictionary implementation is the same as the
> DocumentDictionaryFactory but allows users to specify an arbitrary
> expression into the 'weightExpression' tag.
> This dictionary implementation takes the following parameters in addition
> to parameters described for the Suggester generally and for the lookup
> implementation:
>
>    - payloadField: The payloadField should be a field that is stored.
>    This field is optional.
>
>
>    - weightExpression: An arbitrary expression used for scoring the
>    suggestions. The fields used must be numeric fields. This field is 
> required.
>
>
>    - contextField: Field to be used for context filtering. Note that only
>    some lookup implementations support filtering.
>
> *HighFrequencyDictionaryFactory*
> This dictionary implementation allows adding a threshold to prune out less
> frequent terms in cases where very common terms may overwhelm other terms.
> This dictionary implementation takes one parameter in addition to
> parameters described for the Suggester generally and for the lookup
> implementation:
>
>    - threshold: A value between zero and one representing the minimum
>    fraction of the total documents where a term should appear in order to be
>    added to the lookup dictionary.
>
>

Then play a little bit with the lookup implementation you want.
Can be useful to play with those 2 attributes of the config :

<searchComponent name="suggest" class="solr.SuggestComponent">
  <lst name="suggester">
    <str name="name">mySuggester</str>
...
    <str name="weightField">price</str>
...
  </lst>
  <lst name="suggester">
    <str name="name">altSuggester</str>
   ...
    <str name="weightExpression">((price * 2) + ln(popularity))</str>
    <str name="sortField">weight</str>
    <str name="sortField">price</str>
    ...
  </lst>
</searchComponent>

Hope this helps,
Cheers

On 14 October 2015 at 19:58, Salman Ansari <salman.rah...@gmail.com> wrote:

> Actually what you mentioned Alessandro is something interesting for me. I
> am looking to boost the ranking of some suggestions based on some dynamic
> criteria (let's say how frequent they are used). Do I need to update the
> boost field each time I request the suggestion (to capture the frequency)?
> If you can direct me to an article that explains this with some scenarios
> of using boost that would be appreciated.
>
> Regards,
> Salman
>
>
> On Wed, Oct 14, 2015 at 11:49 AM, Alessandro Benedetti <
> benedetti.ale...@gmail.com> wrote:
>
> > using the suggester feature you can in some case rank the suggestions
> based
> > on an additional numeric field.
> > It's not your use case, you actually want to use a search handler with a
> > well defined schema that will allow you for example to query on an edge
> > ngram token filtered field, applying a geo distance boost function.
> >
> > This is what i would use and would work fine with your applied filter
> > queries as well ( reducing the space of Suggestions)
> >
> > Cheers
> >
> > On 14 October 2015 at 05:09, William Bell <billnb...@gmail.com> wrote:
> >
> > > We want to use suggester but also want to show those results closest to
> > my
> > > lat,long... Kinda combine suggester and bq=geodist()
> > >
> > > On Mon, Oct 12, 2015 at 2:24 PM, Salman Ansari <
> salman.rah...@gmail.com>
> > > wrote:
> > >
> > > > Hi,
> > > >
> > > > I have been trying to get the autocomplete feature in Solr working
> with
> > > no
> > > > luck up to now. First I read that "suggest component" is the
> > recommended
> > > > way as in the below article (and this is the exact functionality I am
> > > > looking for, which is to autocomplete multiple words)
> > > >
> > > >
> > >
> >
> http://blog.trifork.com/2012/02/15/different-ways-to-make-auto-suggestions-with-solr/
> > > >
> > > > Then I tried implementing suggest as described in the following
> > articles
> > > in
> > > > this order
> > > > 1)
> https://wiki.apache.org/solr/Suggester#SearchHandler_configuration
> > > > 2) http://solr.pl/en/2010/11/15/solr-and-autocomplete-part-2/  (I
> > > > implemented suggesting phrases)
> > > > 3)
> > > >
> > > >
> > >
> >
> http://stackoverflow.com/questions/18132819/how-to-have-solr-autocomplete-on-whole-phrase-when-query-contains-multiple-terms
> > > >
> > > > With no luck, after implementing each article when I run my query as
> > > > http://[MySolr]:8983/solr/entityStore114/suggest?spellcheck.q=Barack
> > > >
> > > >
> > > >
> > > > I get
> > > > <response>
> > > > <lst name="responseHeader">
> > > > <int name="status">0</int>
> > > > <int name="QTime">0</int>
> > > > </lst>
> > > > </response>
> > > >
> > > >  Although I have an entry for Barack Obama in my index. I am posting
> my
> > > > Solr configuration as well
> > > >
> > > > <searchComponent name="suggest" class="solr.SpellCheckComponent">
> > > >  <lst name="spellchecker">
> > > >   <str name="name">suggest</str>
> > > >   <str
> > name="classname">org.apache.solr.spelling.suggest.Suggester</str>
> > > >   <str
> > > >
> name="lookupImpl">org.apache.solr.spelling.suggest.fst.FSTLookup</str>
> > > >   <str name="field">entity_autocomplete</str>
> > > > <str name="buildOnCommit">true</str>
> > > >  </lst>
> > > > </searchComponent>
> > > >
> > > >  <requestHandler name="/suggest"
> > > > class="org.apache.solr.handler.component.SearchHandler">
> > > >  <lst name="defaults">
> > > >   <str name="spellcheck">true</str>
> > > >   <str name="spellcheck.dictionary">suggest</str>
> > > >   <str name="spellcheck.count">10</str>
> > > > <str name="spellcheck.onlyMorePopular">true</str>
> > > >         <str name="spellcheck.collate">false</str>
> > > >  </lst>
> > > >  <arr name="components">
> > > >   <str>suggest</str>
> > > >  </arr>
> > > > </requestHandler>
> > > >
> > > > It looks like a very simple job, but even after following so many
> > > articles,
> > > > I could not get it right. Any comment will be appreciated!
> > > >
> > > > Regards,
> > > > Salman
> > > >
> > >
> > >
> > >
> > > --
> > > Bill Bell
> > > billnb...@gmail.com
> > > cell 720-256-8076
> > >
> >
> >
> >
> > --
> > --------------------------
> >
> > Benedetti Alessandro
> > Visiting card - http://about.me/alessandro_benedetti
> > Blog - http://alexbenedetti.blogspot.co.uk
> >
> > "Tyger, tyger burning bright
> > In the forests of the night,
> > What immortal hand or eye
> > Could frame thy fearful symmetry?"
> >
> > William Blake - Songs of Experience -1794 England
> >
>



-- 
--------------------------

Benedetti Alessandro
Visiting card - http://about.me/alessandro_benedetti
Blog - http://alexbenedetti.blogspot.co.uk

"Tyger, tyger burning bright
In the forests of the night,
What immortal hand or eye
Could frame thy fearful symmetry?"

William Blake - Songs of Experience -1794 England

Reply via email to