You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by Alessandro Benedetti <be...@gmail.com> on 2015/06/24 15:31:16 UTC

Re: /suggest through SolrJ?

https://issues.apache.org/jira/browse/SOLR-7719

I will work on it as soon as I can, it is very simple.

Cheers

2015-05-06 13:38 GMT+01:00 Alessandro Benedetti <be...@gmail.com>
:

> Exactly Tomnaso ,
> I was referring to that !
>
> I wrote another mail in the dev mailing list, I will open a Jira Issue for
> that !
>
> Cheers
>
> 2015-04-29 12:16 GMT+01:00 Tommaso Teofili <to...@gmail.com>:
>
>> 2015-04-27 19:22 GMT+02:00 Alessandro Benedetti <
>> benedetti.alex85@gmail.com>
>> :
>>
>> > Just had the very same problem, and I confirm that currently is quite a
>> > mess to manage suggestions in SolrJ !
>> > I have to go with manual Json parsing.
>> >
>>
>> or very not nice NamedList API mess (see an example in JR Oak [1][2]).
>>
>> Regards,
>> Tommaso
>>
>> p.s.:
>> note that this applies to Solr 4.7.1 API, but reading the thread it seems
>> the problem is still there.
>>
>> [1] :
>>
>> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java#L318
>> [2] :
>>
>> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java#L370
>>
>>
>>
>> >
>> > Cheers
>> >
>> > 2015-02-02 12:17 GMT+00:00 Jan Høydahl <ja...@cominvent.com>:
>> >
>> > > Using the /suggest handler wired to SuggestComponent, the
>> > > SpellCheckResponse objects are not populated.
>> > > Reason is that QueryResponse looks for a top-level element named
>> > > "spellcheck"
>> > >
>> > >       else if ( "spellcheck".equals( n ) )  {
>> > >         _spellInfo = (NamedList<Object>) res.getVal( i );
>> > >         extractSpellCheckInfo( _spellInfo );
>> > >       }
>> > >
>> > > Earlier the suggester was the same as the Spell component, but now
>> with
>> > > its own component, suggestions are put in "suggest".
>> > >
>> > > I think we're lacking a SuggestResponse.java for parsing suggest
>> > > responses..??
>> > >
>> > > --
>> > > Jan Høydahl, search solution architect
>> > > Cominvent AS - www.cominvent.com
>> > >
>> > > > 26. sep. 2014 kl. 07.27 skrev Clemens Wyss DEV <
>> clemensdev@mysign.ch>:
>> > > >
>> > > > Thx to you two.
>> > > >
>> > > > Just in case anybody else is trying to do "this". The following
>> SolrJ
>> > > code corresponds to the http request
>> > > > GET http://localhost:8983/solr/solrpedia/suggest?q=atmo
>> > > > of  "Solr in Action" (chapter 10):
>> > > > ...
>> > > > SolrServer server = new HttpSolrServer("
>> > > http://localhost:8983/solr/solrpedia");
>> > > > SolrQuery query = new SolrQuery( "atmo" );
>> > > > query.setRequestHandler( "/suggest" );
>> > > > QueryResponse queryresponse = server.query( query );
>> > > > ...
>> > > > queryresponse.getSpellCheckResponse().getSuggestions();
>> > > > ...
>> > > >
>> > > >
>> > > > -----Ursprüngliche Nachricht-----
>> > > > Von: Shawn Heisey [mailto:solr@elyograg.org]
>> > > > Gesendet: Donnerstag, 25. September 2014 17:37
>> > > > An: solr-user@lucene.apache.org
>> > > > Betreff: Re: /suggest through SolrJ?
>> > > >
>> > > > On 9/25/2014 8:43 AM, Erick Erickson wrote:
>> > > >> You can call anything from SolrJ that you can call from a URL.
>> > > >> SolrJ has lots of convenience stuff to set particular parameters,
>> > > >> parse the response, etc... But in the end it's communicating with
>> Solr
>> > > >> via a URL.
>> > > >>
>> > > >> Take a look at something like SolrQuery for instance. It has a nice
>> > > >> command setFacetPrefix. Here's the entire method:
>> > > >>
>> > > >> public SolrQuery setFacetPrefix( String field, String prefix ) {
>> > > >>    this.set( FacetParams.FACET_PREFIX, prefix );
>> > > >>    return this;
>> > > >> }
>> > > >>
>> > > >> which is really
>> > > >>    this.set( "facet.prefix", prefix ); All it's really doing is
>> > > >> setting a SolrParams key/value pair which is equivalent to
>> > > >> &facet.prefix=blahblah on a URL.
>> > > >>
>> > > >> As I remember, there's a "setPath" method that you can use to set
>> the
>> > > >> destination for the request to "suggest" (or maybe "/suggest").
>> It's
>> > > >> something like that.
>> > > >
>> > > > Yes, like Erick says, just use SolrQuery for most accesses to Solr
>> on
>> > > arbitrary URL paths with arbitrary URL parameters.  The "set" method
>> is
>> > how
>> > > you include those parameters.
>> > > >
>> > > > The SolrQuery method Erick was talking about at the end of his
>> email is
>> > > setRequestHandler(String), and you would set that to "/suggest".  Full
>> > > disclosure about what this method actually does: it also sets the "qt"
>> > > > parameter, but with the modern example Solr config, the qt parameter
>> > > doesn't do anything -- you must actually change the URL path on the
>> > > request, which this method will do if the value starts with a forward
>> > slash.
>> > > >
>> > > > Thanks,
>> > > > Shawn
>> > > >
>> > >
>> > >
>> >
>> >
>> > --
>> > --------------------------
>> >
>> > 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

Re: /suggest through SolrJ?

Posted by Alessandro Benedetti <be...@gmail.com>.
I have provided a Patch, actually i am not sure about the contribution
process, i will read the documentation.
Can anybody give me a feedback ?

https://issues.apache.org/jira/browse/SOLR-7719

Cheers

2015-06-24 14:31 GMT+01:00 Alessandro Benedetti <be...@gmail.com>
:

> https://issues.apache.org/jira/browse/SOLR-7719
>
> I will work on it as soon as I can, it is very simple.
>
> Cheers
>
> 2015-05-06 13:38 GMT+01:00 Alessandro Benedetti <
> benedetti.alex85@gmail.com>:
>
>> Exactly Tomnaso ,
>> I was referring to that !
>>
>> I wrote another mail in the dev mailing list, I will open a Jira Issue
>> for that !
>>
>> Cheers
>>
>> 2015-04-29 12:16 GMT+01:00 Tommaso Teofili <to...@gmail.com>:
>>
>>> 2015-04-27 19:22 GMT+02:00 Alessandro Benedetti <
>>> benedetti.alex85@gmail.com>
>>> :
>>>
>>> > Just had the very same problem, and I confirm that currently is quite a
>>> > mess to manage suggestions in SolrJ !
>>> > I have to go with manual Json parsing.
>>> >
>>>
>>> or very not nice NamedList API mess (see an example in JR Oak [1][2]).
>>>
>>> Regards,
>>> Tommaso
>>>
>>> p.s.:
>>> note that this applies to Solr 4.7.1 API, but reading the thread it seems
>>> the problem is still there.
>>>
>>> [1] :
>>>
>>> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java#L318
>>> [2] :
>>>
>>> https://github.com/apache/jackrabbit-oak/blob/trunk/oak-solr-core/src/main/java/org/apache/jackrabbit/oak/plugins/index/solr/query/SolrQueryIndex.java#L370
>>>
>>>
>>>
>>> >
>>> > Cheers
>>> >
>>> > 2015-02-02 12:17 GMT+00:00 Jan Høydahl <ja...@cominvent.com>:
>>> >
>>> > > Using the /suggest handler wired to SuggestComponent, the
>>> > > SpellCheckResponse objects are not populated.
>>> > > Reason is that QueryResponse looks for a top-level element named
>>> > > "spellcheck"
>>> > >
>>> > >       else if ( "spellcheck".equals( n ) )  {
>>> > >         _spellInfo = (NamedList<Object>) res.getVal( i );
>>> > >         extractSpellCheckInfo( _spellInfo );
>>> > >       }
>>> > >
>>> > > Earlier the suggester was the same as the Spell component, but now
>>> with
>>> > > its own component, suggestions are put in "suggest".
>>> > >
>>> > > I think we're lacking a SuggestResponse.java for parsing suggest
>>> > > responses..??
>>> > >
>>> > > --
>>> > > Jan Høydahl, search solution architect
>>> > > Cominvent AS - www.cominvent.com
>>> > >
>>> > > > 26. sep. 2014 kl. 07.27 skrev Clemens Wyss DEV <
>>> clemensdev@mysign.ch>:
>>> > > >
>>> > > > Thx to you two.
>>> > > >
>>> > > > Just in case anybody else is trying to do "this". The following
>>> SolrJ
>>> > > code corresponds to the http request
>>> > > > GET http://localhost:8983/solr/solrpedia/suggest?q=atmo
>>> > > > of  "Solr in Action" (chapter 10):
>>> > > > ...
>>> > > > SolrServer server = new HttpSolrServer("
>>> > > http://localhost:8983/solr/solrpedia");
>>> > > > SolrQuery query = new SolrQuery( "atmo" );
>>> > > > query.setRequestHandler( "/suggest" );
>>> > > > QueryResponse queryresponse = server.query( query );
>>> > > > ...
>>> > > > queryresponse.getSpellCheckResponse().getSuggestions();
>>> > > > ...
>>> > > >
>>> > > >
>>> > > > -----Ursprüngliche Nachricht-----
>>> > > > Von: Shawn Heisey [mailto:solr@elyograg.org]
>>> > > > Gesendet: Donnerstag, 25. September 2014 17:37
>>> > > > An: solr-user@lucene.apache.org
>>> > > > Betreff: Re: /suggest through SolrJ?
>>> > > >
>>> > > > On 9/25/2014 8:43 AM, Erick Erickson wrote:
>>> > > >> You can call anything from SolrJ that you can call from a URL.
>>> > > >> SolrJ has lots of convenience stuff to set particular parameters,
>>> > > >> parse the response, etc... But in the end it's communicating with
>>> Solr
>>> > > >> via a URL.
>>> > > >>
>>> > > >> Take a look at something like SolrQuery for instance. It has a
>>> nice
>>> > > >> command setFacetPrefix. Here's the entire method:
>>> > > >>
>>> > > >> public SolrQuery setFacetPrefix( String field, String prefix ) {
>>> > > >>    this.set( FacetParams.FACET_PREFIX, prefix );
>>> > > >>    return this;
>>> > > >> }
>>> > > >>
>>> > > >> which is really
>>> > > >>    this.set( "facet.prefix", prefix ); All it's really doing is
>>> > > >> setting a SolrParams key/value pair which is equivalent to
>>> > > >> &facet.prefix=blahblah on a URL.
>>> > > >>
>>> > > >> As I remember, there's a "setPath" method that you can use to set
>>> the
>>> > > >> destination for the request to "suggest" (or maybe "/suggest").
>>> It's
>>> > > >> something like that.
>>> > > >
>>> > > > Yes, like Erick says, just use SolrQuery for most accesses to Solr
>>> on
>>> > > arbitrary URL paths with arbitrary URL parameters.  The "set" method
>>> is
>>> > how
>>> > > you include those parameters.
>>> > > >
>>> > > > The SolrQuery method Erick was talking about at the end of his
>>> email is
>>> > > setRequestHandler(String), and you would set that to "/suggest".
>>> Full
>>> > > disclosure about what this method actually does: it also sets the
>>> "qt"
>>> > > > parameter, but with the modern example Solr config, the qt
>>> parameter
>>> > > doesn't do anything -- you must actually change the URL path on the
>>> > > request, which this method will do if the value starts with a forward
>>> > slash.
>>> > > >
>>> > > > Thanks,
>>> > > > Shawn
>>> > > >
>>> > >
>>> > >
>>> >
>>> >
>>> > --
>>> > --------------------------
>>> >
>>> > 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
>



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

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