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 sambasivarao giddaluri <sa...@gmail.com> on 2020/02/26 01:05:13 UTC

How to use existing SolrClient with Streaming

Hi All ,

I have created a SolrClient bean and checking how to use it with SolrStream.

@Configuration(proxyBeanMethods = *false*)
SolrConfiguration Class

 @Bean

    *public* SolrClient solrClient() {

       String solrBaseUrl="http://***";

        *return* *new* Http2SolrClient.Builder(solrBaseUrl).build();



    }


Another Streaming  Class


ex:

 *public* List<Map<String, Object>> streamQuery(String expr) {

    List<Map<String, Object>> tuples = *null*;

    ModifiableSolrParams params = *new* ModifiableSolrParams();

    params.set("expr", expr);

    params.set("qt", "/stream");

    TupleStream tupleStream = *new* SolrStream("http://***", params)

    StreamContext context = *new* StreamContext();

    tupleStream.setStreamContext(context);

    tuples = getTuples(tupleStream);

}


this works but is there any other way to use the existing SolrClient. I
don't have zookeeper setup as of now


Regards

sambasiva

RE: How to use existing SolrClient with Streaming

Posted by Gael Jourdan-Weil <ga...@kelkoogroup.com>.
Hello,

If I understand well, you want to share a SolrClient for streaming code and another piece of non streaming code?

I think you can have a look to the SolrClientCache class.
Instantiate a SolrClientCache once (as a Bean in your case I guess).

Then you can use it for both:

  *   getting a usual SolrClient instance (or SolrCloud by the way if someday you want to)
  *   passing it to the StreamContext with streamContext.setSolrClientCache(solrClientCache)

Gaël Jourdan-Weil
________________________________
De : sambasivarao giddaluri <sa...@gmail.com>
Envoyé : mercredi 26 février 2020 02:07
À : solr-user@lucene.apache.org <so...@lucene.apache.org>
Objet : Re: How to use existing SolrClient with Streaming

during SolrStream initialization  i had to pass the URL again rather would
like to see if i can get it by any other way .

On Tue, Feb 25, 2020 at 5:05 PM sambasivarao giddaluri <
sambasiva.giddaluri@gmail.com> wrote:

> Hi All ,
>
> I have created a SolrClient bean and checking how to use it with
> SolrStream.
>
> @Configuration(proxyBeanMethods = *false*)
> SolrConfiguration Class
>
>  @Bean
>
>     *public* SolrClient solrClient() {
>
>        String solrBaseUrl="http://***";
>
>         *return* *new* Http2SolrClient.Builder(solrBaseUrl).build();
>
>
>
>     }
>
>
> Another Streaming  Class
>
>
> ex:
>
>  *public* List<Map<String, Object>> streamQuery(String expr) {
>
>     List<Map<String, Object>> tuples = *null*;
>
>     ModifiableSolrParams params = *new* ModifiableSolrParams();
>
>     params.set("expr", expr);
>
>     params.set("qt", "/stream");
>
>     TupleStream tupleStream = *new* SolrStream("http://***", params)
>
>     StreamContext context = *new* StreamContext();
>
>     tupleStream.setStreamContext(context);
>
>     tuples = getTuples(tupleStream);
>
> }
>
>
> this works but is there any other way to use the existing SolrClient. I
> don't have zookeeper setup as of now
>
>
> Regards
>
> sambasiva
>
>
>
>

Re: How to use existing SolrClient with Streaming

Posted by sambasivarao giddaluri <sa...@gmail.com>.
during SolrStream initialization  i had to pass the URL again rather would
like to see if i can get it by any other way .

On Tue, Feb 25, 2020 at 5:05 PM sambasivarao giddaluri <
sambasiva.giddaluri@gmail.com> wrote:

> Hi All ,
>
> I have created a SolrClient bean and checking how to use it with
> SolrStream.
>
> @Configuration(proxyBeanMethods = *false*)
> SolrConfiguration Class
>
>  @Bean
>
>     *public* SolrClient solrClient() {
>
>        String solrBaseUrl="http://***";
>
>         *return* *new* Http2SolrClient.Builder(solrBaseUrl).build();
>
>
>
>     }
>
>
> Another Streaming  Class
>
>
> ex:
>
>  *public* List<Map<String, Object>> streamQuery(String expr) {
>
>     List<Map<String, Object>> tuples = *null*;
>
>     ModifiableSolrParams params = *new* ModifiableSolrParams();
>
>     params.set("expr", expr);
>
>     params.set("qt", "/stream");
>
>     TupleStream tupleStream = *new* SolrStream("http://***", params)
>
>     StreamContext context = *new* StreamContext();
>
>     tupleStream.setStreamContext(context);
>
>     tuples = getTuples(tupleStream);
>
> }
>
>
> this works but is there any other way to use the existing SolrClient. I
> don't have zookeeper setup as of now
>
>
> Regards
>
> sambasiva
>
>
>
>