Sigh.  Best way to find a stupid mistake is post it.

I had this...
<requestHandler name="/select" class="solr.SearchHandler">
    <!-- default values for query parameters can be specified, these
         will be overridden by parameters in the request
      -->
    <lst name="defaults">
      <str name="echoParams">explicit</str>
      <int name="rows">10</int>
        <arr name="last-components">
        <str>saveStateComponent</str>
      </arr>
  </lst>
</requestHandler>

Instead of this....

<requestHandler name="/select" class="solr.SearchHandler">
    <!-- default values for query parameters can be specified, these
         will be overridden by parameters in the request
      -->
    <lst name="defaults">
      <str name="echoParams">explicit</str>
      <int name="rows">10</int>
    </lst>
    <arr name="last-components">
        <str>saveStateComponent</str>
    </arr>
</requestHandler
-----Original Message-----
From: Erick Erickson [mailto:erickerick...@gmail.com] 
Sent: Friday, June 30, 2017 1:26 PM
To: solr-user
Subject: [EXTERNAL] - Re: custom search component process method not called

I believe the init bit is called on startup, so that leaves the second part of 
your puzzle. I find this a bit suspicious though:

   <str name="saveCore">${solr.core.name}</str>

Are you sure this is different for all three cores? My thought is that the 
component is being called for all three cores but it's hard to see b/c the name 
is the same.

Total guess though.

Erick

On Fri, Jun 30, 2017 at 10:08 AM, Steve Pruitt <bpru...@opentext.com> wrote:
> I have a custom search component that registered in the last-components list 
> for /select.  The component does some bookkeeping.  I got it working using a 
> helloworld core using one of the example datasets.
> I have a few logging statements to monitor the custom processing.  I have the 
> jar with my components in the default server/solr/lib folder.
> I created two new cores for my real datasets.  They are very small, around 60 
> documents.
> I duplicated the custom helloworld solrconfig.xml parts in two new core 
> solrconfig.xml files.
>
> I executed a /select on one of the new cores and nothing happened.  The 
> init(...) function in my custom component for all three cores is executed ok. 
>  But, the process(...) and prepare(...) methods are never executed.
> I retried the helloworld core and it works fine.
>
> I can't determine why it doesn't work for the two new cores, the process 
> method that is.
>
> Why does the init method get called, but not the process method.  The prepare 
> method is not called also.
>
> The /select entry request handler config is:
>
> <requestHandler name="/select" class="solr.SearchHandler">
>     <!-- default values for query parameters can be specified, these
>          will be overridden by parameters in the request
>       -->
>     <lst name="defaults">
>           <str name="echoParams">explicit</str>
>           <int name="rows">10</int>
>     </lst>
>     <arr name="last-components">
>                <str>saveStateComponent</str>
>     </arr>
> </requestHandler>
>
> <searchComponent name="saveStateComponent" 
> class="mycomponent.SaveStateComponent">
>        <str name="savePath">savedState</str>
>        <str name="saveHome">${solr.solr.home}</str>
>        <str name="saveCore">${solr.core.name}</str>
> </searchComponent>
>
>
> Thanks in advance.
>
> -S
> Steve Pruitt

Reply via email to