lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alessandro Benedetti <benedetti.ale...@gmail.com>
Subject Re: Derive suggestions across multiple fields
Date Thu, 04 Jun 2015 10:19:49 GMT
If you are using an existing indexed field to provide suggestions, you
simply need to build the suggester and start using it !
No re-indexing needed .

Cheers

2015-06-04 11:01 GMT+01:00 Zheng Lin Edwin Yeo <edwinyeozl@gmail.com>:

> I think I'm confused with the old spellcheck approach that came out more
> frequently during my research.
>
> Just to confirm, do I need to re-index the data in order for this new
> approach to work if I'm using an existing field?
>
>
> Regards,
> Edwin
>
>
> On 4 June 2015 at 16:58, Alessandro Benedetti <benedetti.alex85@gmail.com>
> wrote:
>
> > Let me try to clarify the things…
> > Because you are using solr 5.1 I can not see any reason to try to use the
> > old spellcheck approach.
> > If you take a look to the page me and Erick quoted there is a simple
> config
> > example :
> >
> > <searchComponent name="suggest" class="solr.SuggestComponent">
> > > <lst name="suggester">
> > > <str name="name">mySuggester</str>
> > > <str name="lookupImpl">FuzzyLookupFactory</str>
> > > <str name="storeDir">suggester_fuzzy_dir</str>
> > > <!-- Substitute these for the two above for another "flavor"
> > > <str name=”lookupImpl”>AnalyzingInfixLookupFactory</str>
> > > <str name=”indexPath”>suggester_infix_dir</str>
> > > -->
> > > <str name="dictionaryImpl">DocumentDictionaryFactory</str>
> > > <str name="field">title</str>
> > > <str name="suggestAnalyzerFieldType">suggestType</str>
> > > <str name="buildOnStartup">false</str>
> > > <str name="buildOnCommit">false</str>
> > > </lst>
> > > </searchComponent>
> > >
> >
> >
> > > <requestHandler name="/suggesthandler" class="solr.SearchHandler"
> > > startup="lazy" >
> > > <lst name="defaults">
> > > <str name="suggest">true</str>
> > > <str name="suggest.count">10</str>
> > > <str name=”suggest.dictionary”>mySuggester</str>
> > > </lst>
> > > <arr name="components">
> > > <str>suggest</str>
> > > </arr>
> > > </requestHandler>
> >
> >
> > You should use this approach.
> > After you build the Suggestion Dictionary ( after your first commit or
> > manually) you are going to be able to see the suggestions.
> >
> > Your config appears to be very confused ( why an edismax query parser
> for a
> > suggestion request handler ? )
> >
> > To answer do Dalnesh, there is no benefit in explicitly expressing again
> > the query parameters, they are already appended if you take a look to
> Edwin
> > config, so this will not solve anything.
> >
> > I would suggest you to use the latest approach and then verify the
> > suggester building went fine.
> >
> > Cheers
> >
> > 2015-06-04 9:13 GMT+01:00 Zheng Lin Edwin Yeo <edwinyeozl@gmail.com>:
> >
> > > This is the result that I get from the query URL you mentioned. Still
> not
> > > able to get any output.
> > >
> > > <?xml version="1.0" encoding="UTF-8"?>
> > > <response>
> > >   <lst name="responseHeader">
> > >     <int name="status">0</int>
> > >     <int name="QTime">0</int>
> > >   <lst name="params">
> > >     <str name="suggest.build">true</str>
> > >     <str name="suggest.q">mater</str>
> > >     <str name="suggest">true</str>
> > >     <str name="suggest.dictionary">suggest</str>
> > >     <str name="wt">xml</str>
> > >   </lst>
> > > </lst>
> > > </response>
> > >
> > >
> > > Regards,
> > > Edwin
> > >
> > >
> > >
> > > On 4 June 2015 at 15:26, Dhanesh Radhakrishnan <dhanesh@hifx.co.in>
> > wrote:
> > >
> > > > Try this
> > > >
> > > >
> > > >
> > >
> >
> http://localhost:8983/solr/collection1/suggest?suggest=true&suggest.dictionary=suggest&suggest.build=true&wt=xml&suggest.q=mater
> > > >
> > > > On Thu, Jun 4, 2015 at 11:53 AM, Zheng Lin Edwin Yeo <
> > > edwinyeozl@gmail.com
> > > > >
> > > > wrote:
> > > >
> > > > > I've tried to use the solr.SuggestComponent as stated in the
> website,
> > > but
> > > > > it couldn't work.
> > > > >
> > > > > When I change to using the suggest with the configuration below and
> > go
> > > a
> > > > > query like http://localhost:8983/solr/collection1/suggest?q=mater,
> > it
> > > > says
> > > > > "The Webpage cannot be found"
> > > > >
> > > > >   <searchComponent class="solr.SuggestComponent" name="suggest">
> > > > >     <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.tst.TSTLookupFactory</str>
> > > > >   <str name="field">text</str>  <!-- the indexed field
to derive
> > > > > suggestions from -->
> > > > >       <str name="buildOnCommit">true</str>
> > > > >     </lst>
> > > > >   </searchComponent>
> > > > >   <requestHandler
> > > class="org.apache.solr.handler.component.SearchHandler"
> > > > > name="/suggest">
> > > > >     <lst name="defaults">
> > > > >        <str name="echoParams">explicit</str>
> > > > >   <str name="defType">edismax</str>
> > > > >        <int name="rows">10</int>
> > > > >        <str name="wt">json</str>
> > > > >        <str name="indent">true</str>
> > > > >
> > > > >       <str name="suggest">true</str>
> > > > >       <str name="suggest.dictionary">suggest</str>
> > > > >       <str name="suggest.count">5</str>
> > > > >       <str name="suggest.collate">true</str>
> > > > >     </lst>
> > > > >     <arr name="components">
> > > > >       <str>suggest</str>
> > > > >     </arr>
> > > > >   </requestHandler>
> > > > >
> > > > >
> > > > > Regards,
> > > > > Edwin
> > > > >
> > > > >
> > > > > On 4 June 2015 at 13:21, Erick Erickson <erickerickson@gmail.com>
> > > wrote:
> > > > >
> > > > > > This may be helpful: http://lucidworks.com/blog/solr-suggester/
> > > > > >
> > > > > > Note that there are a series of fixes in various versions of
> Solr,
> > > > > > particularly buildOnStartup=false and working on multivalued
> > fields.
> > > > > >
> > > > > > Best,
> > > > > > Erick
> > > > > >
> > > > > > On Wed, Jun 3, 2015 at 8:04 PM, Zheng Lin Edwin Yeo
> > > > > > <edwinyeozl@gmail.com> wrote:
> > > > > > > My previous suggester configuration is derived from this
page:
> > > > > > > https://wiki.apache.org/solr/Suggester
> > > > > > >
> > > > > > > Does it mean that what is written there is outdated?
> > > > > > >
> > > > > > > Regards,
> > > > > > > Edwin
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > On 3 June 2015 at 23:44, Zheng Lin Edwin Yeo <
> > edwinyeozl@gmail.com
> > > >
> > > > > > wrote:
> > > > > > >
> > > > > > >> Thank you for your suggestions.
> > > > > > >> Will try that out and update on the results again.
> > > > > > >>
> > > > > > >> Regards,
> > > > > > >> Edwin
> > > > > > >>
> > > > > > >>
> > > > > > >> On 3 June 2015 at 21:13, Alessandro Benedetti <
> > > > > > benedetti.alex85@gmail.com>
> > > > > > >> wrote:
> > > > > > >>
> > > > > > >>> I can see a lot of confusion in the configuration!
> > > > > > >>>
> > > > > > >>> Few suggestions :
> > > > > > >>> - read carefully the document and try to apply
the suggesting
> > > > > guidance
> > > > > > >>> - currently there is no need to use spellcheck
for
> suggestions,
> > > now
> > > > > > they
> > > > > > >>> are separated things
> > > > > > >>> - i see text used to derive suggestions, I would
prefer there
> > to
> > > > see
> > > > > > the
> > > > > > >>> copy field specifically used to contain the interesting
> fields
> > > > > > >>> - Yes you need to build the suggester the first
time to see
> > > > > suggestions
> > > > > > >>> - Yes , if you add a copy field yo need to re-index
to see it
> > > > filled
> > > > > !
> > > > > > >>>
> > > > > > >>> Cheers
> > > > > > >>>
> > > > > > >>> 2015-06-03 11:07 GMT+01:00 Zheng Lin Edwin Yeo
<
> > > > edwinyeozl@gmail.com
> > > > > >:
> > > > > > >>>
> > > > > > >>> > This is my suggester configuration:
> > > > > > >>> >
> > > > > > >>> >   <searchComponent class="solr.SpellCheckComponent"
> > > > name="suggest">
> > > > > > >>> >     <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.tst.TSTLookupFactory</str>
> > > > > > >>> >   <str name="field">text</str>
 <!-- the indexed field to
> > > derive
> > > > > > >>> > suggestions from -->
> > > > > > >>> >       <float name="threshold">0.005</float>
> > > > > > >>> >       <str name="buildOnCommit">true</str>
> > > > > > >>> >     </lst>
> > > > > > >>> >   </searchComponent>
> > > > > > >>> >   <requestHandler
> > > > > > >>> class="org.apache.solr.handler.component.SearchHandler"
> > > > > > >>> > name="/suggest">
> > > > > > >>> >     <lst name="defaults">
> > > > > > >>> >        <str name="echoParams">explicit</str>
> > > > > > >>> >   <str name="defType">edismax</str>
> > > > > > >>> >        <int name="rows">10</int>
> > > > > > >>> >        <str name="wt">json</str>
> > > > > > >>> >        <str name="indent">true</str>
> > > > > > >>> >   <str name="df">text</str>
> > > > > > >>> >
> > > > > > >>> >       <str name="spellcheck">true</str>
> > > > > > >>> >       <str name="spellcheck.dictionary">suggest</str>
> > > > > > >>> >       <str name="spellcheck.onlyMorePopular">true</str>
> > > > > > >>> >       <str name="spellcheck.count">5</str>
> > > > > > >>> >       <str name="spellcheck.collate">true</str>
> > > > > > >>> >     </lst>
> > > > > > >>> >     <arr name="components">
> > > > > > >>> >       <str>suggest</str>
> > > > > > >>> >     </arr>
> > > > > > >>> >   </requestHandler>
> > > > > > >>> >
> > > > > > >>> >
> > > > > > >>> > Yes, I've read the guide. I've found out that
there is a
> need
> > > to
> > > > do
> > > > > > >>> > re-indexing if I'm creating a new copyField.
It works when
> I
> > > used
> > > > > the
> > > > > > >>> > copyField that's created before the indexing
is done.
> > > > > > >>> >
> > > > > > >>> > As I'm using the spellcheck dictionary as
my suggester, so
> > does
> > > > > that
> > > > > > >>> mean I
> > > > > > >>> > just need to build the spellcheck dictionary?
> > > > > > >>> >
> > > > > > >>> >
> > > > > > >>> > Regards,
> > > > > > >>> > Edwin
> > > > > > >>> >
> > > > > > >>> >
> > > > > > >>> > On 3 June 2015 at 17:36, Alessandro Benedetti
<
> > > > > > >>> benedetti.alex85@gmail.com>
> > > > > > >>> > wrote:
> > > > > > >>> >
> > > > > > >>> > > Can you share you suggester configurations
?
> > > > > > >>> > > Have you read the guide I linked ?
> > > > > > >>> > > Has the suggestion index/fst has been
built ? ( you need
> to
> > > > build
> > > > > > the
> > > > > > >>> > > suggester)
> > > > > > >>> > >
> > > > > > >>> > > Cheers
> > > > > > >>> > >
> > > > > > >>> > > 2015-06-03 4:07 GMT+01:00 Zheng Lin Edwin
Yeo <
> > > > > > edwinyeozl@gmail.com>:
> > > > > > >>> > >
> > > > > > >>> > > > Thank you for your explanation.
> > > > > > >>> > > >
> > > > > > >>> > > > I'll not need to care where the
suggestions are coming
> > > from.
> > > > > All
> > > > > > the
> > > > > > >>> > > > suggestions from different fields
can be consolidate
> and
> > > > > display
> > > > > > >>> > > together.
> > > > > > >>> > > >
> > > > > > >>> > > > I've tried to put those field into
a new Suggestion
> copy
> > > > field,
> > > > > > but
> > > > > > >>> no
> > > > > > >>> > > > suggestion is shown when I set:
> > > > > > >>> > > > <str name="field">Suggestion</str>
 <!-- the indexed
> > field
> > > to
> > > > > > derive
> > > > > > >>> > > > suggestions from -->
> > > > > > >>> > > >
> > > > > > >>> > > > Is there a need to re-index the
documents in order for
> > this
> > > > to
> > > > > > work?
> > > > > > >>> > > >
> > > > > > >>> > > > Regards,
> > > > > > >>> > > > Edwin
> > > > > > >>> > > >
> > > > > > >>> > > >
> > > > > > >>> > > >
> > > > > > >>> > > > On 2 June 2015 at 17:25, Alessandro
Benedetti <
> > > > > > >>> > > benedetti.alex85@gmail.com>
> > > > > > >>> > > > wrote:
> > > > > > >>> > > >
> > > > > > >>> > > > > Hi Edwin,
> > > > > > >>> > > > > I have worked extensively recently
in Suggester and
> the
> > > > blog
> > > > > I
> > > > > > >>> feel
> > > > > > >>> > to
> > > > > > >>> > > > > suggest is Erick's one.
> > > > > > >>> > > > > It's really detailed and good
for a beginner and
> expert
> > > as
> > > > > > well.
> > > > > > >>> [1]
> > > > > > >>> > > > >
> > > > > > >>> > > > > Apart that let's see you particular
use case :
> > > > > > >>> > > > >
> > > > > > >>> > > > > 1) Do you want to be able to
get also where the
> > > suggestions
> > > > > are
> > > > > > >>> > coming
> > > > > > >>> > > > from
> > > > > > >>> > > > > ?
> > > > > > >>> > > > > e.g.
> > > > > > >>> > > > > suggestion1 from field1
> > > > > > >>> > > > > suggestion2 from field2 ?
> > > > > > >>> > > > > In this case I would try with
multiple dictionaries
> > but I
> > > > am
> > > > > > not
> > > > > > >>> sure
> > > > > > >>> > > > Solr
> > > > > > >>> > > > > allows you to use them concurrently.
> > > > > > >>> > > > > But can be a really nice extension
to develop.
> > > > > > >>> > > > >
> > > > > > >>> > > > > 2) If you don't care where
the suggestions are coming
> > > from,
> > > > > > just
> > > > > > >>> use
> > > > > > >>> > a
> > > > > > >>> > > > copy
> > > > > > >>> > > > > field, where you copy the content
of the interesting
> > > > fields.
> > > > > > >>> > > > > The suggestions will come from
the fields you have
> > copied
> > > > in
> > > > > > the
> > > > > > >>> copy
> > > > > > >>> > > > > field, without distinction.
> > > > > > >>> > > > >
> > > > > > >>> > > > > Hope this helps you
> > > > > > >>> > > > >
> > > > > > >>> > > > > Cheers
> > > > > > >>> > > > >
> > > > > > >>> > > > >
> > > > > > >>> > > > > [1] http://lucidworks.com/blog/solr-suggester/
> > > > > > >>> > > > >
> > > > > > >>> > > > > 2015-06-02 4:22 GMT+01:00 Zheng
Lin Edwin Yeo <
> > > > > > >>> edwinyeozl@gmail.com
> > > > > > >>> > >:
> > > > > > >>> > > > >
> > > > > > >>> > > > > > Hi,
> > > > > > >>> > > > > >
> > > > > > >>> > > > > > Does anyone knows if we
can derive suggestions
> across
> > > > > > multiple
> > > > > > >>> > > fields?
> > > > > > >>> > > > > >
> > > > > > >>> > > > > > I tried to set something
like this in my field in
> > > suggest
> > > > > > >>> > > > > searchComponents
> > > > > > >>> > > > > > in solrconfig.xml, but
nothing is returned. It only
> > > works
> > > > > > when I
> > > > > > >>> > set
> > > > > > >>> > > a
> > > > > > >>> > > > > > single field, and not
multiple field.
> > > > > > >>> > > > > >
> > > > > > >>> > > > > >   <searchComponent
class="solr.SpellCheckComponent"
> > > > > > >>> name="suggest">
> > > > > > >>> > > > > >     <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.tst.TSTLookupFactory</str>
> > > > > > >>> > > > > >   <str name="field">Content,
Summary</str>  <!--
> the
> > > > > indexed
> > > > > > >>> field
> > > > > > >>> > to
> > > > > > >>> > > > > > derive suggestions from
-->
> > > > > > >>> > > > > >       <float name="threshold">0.005</float>
> > > > > > >>> > > > > >       <str name="buildOnCommit">true</str>
> > > > > > >>> > > > > >     </lst>
> > > > > > >>> > > > > >   </searchComponent>
> > > > > > >>> > > > > >
> > > > > > >>> > > > > > I'm using solr 5.1.
> > > > > > >>> > > > > >
> > > > > > >>> > > > > > Regards,
> > > > > > >>> > > > > > Edwin
> > > > > > >>> > > > > >
> > > > > > >>> > > > >
> > > > > > >>> > > > >
> > > > > > >>> > > > >
> > > > > > >>> > > > > --
> > > > > > >>> > > > > --------------------------
> > > > > > >>> > > > >
> > > > > > >>> > > > > Benedetti Alessandro
> > > > > > >>> > > > > Visiting card : http://about.me/alessandro_benedetti
> > > > > > >>> > > > >
> > > > > > >>> > > > > "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
> > > > > > >>> > >
> > > > > > >>> > > "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
> > > > > > >>>
> > > > > > >>> "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
> > > > > > >>>
> > > > > > >>
> > > > > > >>
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > >  [image: hifx_logo] <http://hifx.in/>
> > > > *dhanesh s.R *
> > > > Team Lead
> > > > t: (+91) 484 4011750 (ext. 712) | m: ​(+91) 99 4 6666 703
> > > > e: dhanesh@hifx.in | w: www.hifx.in
> > > > <https://www.facebook.com/HiFXIT> <https://twitter.com/HiFXTweets>
> > > > <https://www.linkedin.com/company/2889649>
> > > > <https://plus.google.com/104259935226993895226/about>
> > > >
> > > > --
> > > >
> > > > ------------------------------
> > > > IMPORTANT: This is an e-mail from HiFX IT Media Services Pvt. Ltd.
> Its
> > > > content are confidential to the intended recipient. If you are not
> the
> > > > intended recipient, be advised that you have received this e-mail in
> > > error
> > > > and that any use, dissemination, forwarding, printing or copying of
> > this
> > > > e-mail is strictly prohibited. It may not be disclosed to or used by
> > > anyone
> > > > other than its intended recipient, nor may it be copied in any way.
> If
> > > > received in error, please email a reply to the sender, then delete it
> > > from
> > > > your system.
> > > >
> > > > Although this e-mail has been scanned for viruses, HiFX cannot
> > ultimately
> > > > accept any responsibility for viruses and it is your responsibility
> to
> > > scan
> > > > attachments (if any).
> > > >
> > > > ​
> > > > Before you print this email or attachments, please consider the
> > negative
> > > > environmental impacts associated with printing.
> > > >
> > >
> >
> >
> >
> > --
> > --------------------------
> >
> > Benedetti Alessandro
> > Visiting card : http://about.me/alessandro_benedetti
> >
> > "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

"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

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