FAQ
Simlify UpdateRequestProcessor API
----------------------------------

Key: SOLR-660
URL: https://issues.apache.org/jira/browse/SOLR-660
Project: Solr
Issue Type: Improvement
Components: update
Affects Versions: 1.3
Reporter: Ryan McKinley
Fix For: 1.3


SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3

--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Search Discussions

  • Ryan McKinley (JIRA) at Jul 25, 2008 at 7:20 pm
    [ https://issues.apache.org/jira/browse/SOLR-660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

    Ryan McKinley updated SOLR-660:
    -------------------------------

    Attachment: SOLR-660-update-processor.patch

    patch that removes the no-op factory and forces eveything to be a chain. Now the configuration looks like this:
    {code:xml}
    <updateRequestProcessingChain name="name" default="true">
    <processor class="solr.CustomUpdateRequestProcessorFactory" >
    <lst name="name">
    <str name="n1">x1</str>
    <str name="n2">x2</str>
    </lst>
    </processor>
    <processor class="solr.RunUpdateProcessorFactory" />
    <processor class="solr.LogUpdateProcessorFactory" />
    </updateRequestProcessingChain>
    {code}

    The big changes are:
    * processor factories are now loaded with NamedListInitalizedPluginLoader -- it is no longer custon Node parsing.
    * the Factories no longer have direct access to core. if they need it, they can implement SorlCoreAware
    * moves all config parsing out of the processor classes.


    Simlify UpdateRequestProcessor API
    ----------------------------------

    Key: SOLR-660
    URL: https://issues.apache.org/jira/browse/SOLR-660
    Project: Solr
    Issue Type: Improvement
    Components: update
    Affects Versions: 1.3
    Reporter: Ryan McKinley
    Fix For: 1.3

    Attachments: SOLR-660-update-processor.patch


    SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3
    --
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
  • Shalin Shekhar Mangar (JIRA) at Jul 25, 2008 at 7:39 pm
    [ https://issues.apache.org/jira/browse/SOLR-660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

    Shalin Shekhar Mangar updated SOLR-660:
    ---------------------------------------

    Summary: Simplify UpdateRequestProcessor API (was: Simlify UpdateRequestProcessor API)
    Simplify UpdateRequestProcessor API
    -----------------------------------

    Key: SOLR-660
    URL: https://issues.apache.org/jira/browse/SOLR-660
    Project: Solr
    Issue Type: Improvement
    Components: update
    Affects Versions: 1.3
    Reporter: Ryan McKinley
    Fix For: 1.3

    Attachments: SOLR-660-update-processor.patch


    SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3
    --
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
  • Shalin Shekhar Mangar (JIRA) at Jul 25, 2008 at 7:50 pm
    [ https://issues.apache.org/jira/browse/SOLR-660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617027#action_12617027 ]

    Shalin Shekhar Mangar commented on SOLR-660:
    --------------------------------------------

    Thanks for opening this issue Ryan!

    The configuration looks much better and going with the NamedListInitializedPlugin and SolrCoreAware makes it more consistent with the RequestHandler and SearchComponent code base. Let me see how I can help :)
    Simplify UpdateRequestProcessor API
    -----------------------------------

    Key: SOLR-660
    URL: https://issues.apache.org/jira/browse/SOLR-660
    Project: Solr
    Issue Type: Improvement
    Components: update
    Affects Versions: 1.3
    Reporter: Ryan McKinley
    Fix For: 1.3

    Attachments: SOLR-660-update-processor.patch


    SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3
    --
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
  • Ryan McKinley (JIRA) at Jul 26, 2008 at 12:29 am
    [ https://issues.apache.org/jira/browse/SOLR-660?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

    Ryan McKinley resolved SOLR-660.
    --------------------------------

    Resolution: Fixed

    just committed this and updated the text on:
    http://wiki.apache.org/solr/UpdateRequestProcessor

    Shalin, if you could add more documentation / comments from your experience using it, that would be great.
    Simplify UpdateRequestProcessor API
    -----------------------------------

    Key: SOLR-660
    URL: https://issues.apache.org/jira/browse/SOLR-660
    Project: Solr
    Issue Type: Improvement
    Components: update
    Affects Versions: 1.3
    Reporter: Ryan McKinley
    Fix For: 1.3

    Attachments: SOLR-660-update-processor.patch


    SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3
    --
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
  • Ryan McKinley (JIRA) at Jul 26, 2008 at 12:33 am
    [ https://issues.apache.org/jira/browse/SOLR-660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617016#action_12617016 ]

    ryantxu edited comment on SOLR-660 at 7/25/08 5:32 PM:
    -------------------------------------------------------------

    patch that removes the no-op factory and forces eveything to be a chain. Now the configuration looks like this:
    {code:xml}
    <updateRequestProcessorChain name="name" default="true">
    <processor class="solr.CustomUpdateRequestProcessorFactory" >
    <lst name="name">
    <str name="n1">x1</str>
    <str name="n2">x2</str>
    </lst>
    </processor>
    <processor class="solr.RunUpdateProcessorFactory" />
    <processor class="solr.LogUpdateProcessorFactory" />
    </updateRequestProcessorChain>
    {code}

    The big changes are:
    * processor factories are now loaded with NamedListInitalizedPluginLoader -- it is no longer custon Node parsing.
    * the Factories no longer have direct access to core. if they need it, they can implement SorlCoreAware
    * moves all config parsing out of the processor classes.



    was (Author: ryantxu):
    patch that removes the no-op factory and forces eveything to be a chain. Now the configuration looks like this:
    {code:xml}
    <updateRequestProcessingChain name="name" default="true">
    <processor class="solr.CustomUpdateRequestProcessorFactory" >
    <lst name="name">
    <str name="n1">x1</str>
    <str name="n2">x2</str>
    </lst>
    </processor>
    <processor class="solr.RunUpdateProcessorFactory" />
    <processor class="solr.LogUpdateProcessorFactory" />
    </updateRequestProcessingChain>
    {code}

    The big changes are:
    * processor factories are now loaded with NamedListInitalizedPluginLoader -- it is no longer custon Node parsing.
    * the Factories no longer have direct access to core. if they need it, they can implement SorlCoreAware
    * moves all config parsing out of the processor classes.


    Simplify UpdateRequestProcessor API
    -----------------------------------

    Key: SOLR-660
    URL: https://issues.apache.org/jira/browse/SOLR-660
    Project: Solr
    Issue Type: Improvement
    Components: update
    Affects Versions: 1.3
    Reporter: Ryan McKinley
    Fix For: 1.3

    Attachments: SOLR-660-update-processor.patch


    SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3
    --
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
  • Noble Paul (JIRA) at Jul 26, 2008 at 2:57 am
    [ https://issues.apache.org/jira/browse/SOLR-660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617118#action_12617118 ]

    Noble Paul commented on SOLR-660:
    ---------------------------------

    This looks very good, Ryan .The configuration is obvious as what is is doing . I guess it would be nice to make the _UpdateRequestProcessorFactory_ implements SolrCoreAware. Any initialization with the core can be done here


    Simplify UpdateRequestProcessor API
    -----------------------------------

    Key: SOLR-660
    URL: https://issues.apache.org/jira/browse/SOLR-660
    Project: Solr
    Issue Type: Improvement
    Components: update
    Affects Versions: 1.3
    Reporter: Ryan McKinley
    Fix For: 1.3

    Attachments: SOLR-660-update-processor.patch


    SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3
    --
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
  • Noble Paul (JIRA) at Jul 26, 2008 at 3:08 am
    [ https://issues.apache.org/jira/browse/SOLR-660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617118#action_12617118 ]

    noble.paul edited comment on SOLR-660 at 7/25/08 8:06 PM:
    ----------------------------------------------------------

    This looks very good, Ryan .The configuration is obvious as what it is doing though I'm still not convinced of the need for a factory (Eitherway it does not matter). I guess it would be nice to make the _UpdateRequestProcessorFactory_ implements SolrCoreAware. Any initialization with the core can be done here.
    I have changed the wiki too





    was (Author: noble.paul):
    This looks very good, Ryan .The configuration is obvious as what is is doing . I guess it would be nice to make the _UpdateRequestProcessorFactory_ implements SolrCoreAware. Any initialization with the core can be done here


    Simplify UpdateRequestProcessor API
    -----------------------------------

    Key: SOLR-660
    URL: https://issues.apache.org/jira/browse/SOLR-660
    Project: Solr
    Issue Type: Improvement
    Components: update
    Affects Versions: 1.3
    Reporter: Ryan McKinley
    Fix For: 1.3

    Attachments: SOLR-660-update-processor.patch


    SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3
    --
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
  • Ryan McKinley (JIRA) at Jul 26, 2008 at 3:15 am
    [ https://issues.apache.org/jira/browse/SOLR-660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617119#action_12617119 ]

    Ryan McKinley commented on SOLR-660:
    ------------------------------------

    bq. I guess it would be nice to make the UpdateRequestProcessorFactory

    any UpdateRequestProcessorFactory that needs access to SolrCore just needs to implement SolrCoreAware, then it will be initialized via the standard plugin stuff. Our base UpdateRequestProcessorFactory should not need SolrCore.

    It does not _need_ to be a factory, but the chaining and state implementations (for non-trivial processors) is much more straight forward.
    Simplify UpdateRequestProcessor API
    -----------------------------------

    Key: SOLR-660
    URL: https://issues.apache.org/jira/browse/SOLR-660
    Project: Solr
    Issue Type: Improvement
    Components: update
    Affects Versions: 1.3
    Reporter: Ryan McKinley
    Fix For: 1.3

    Attachments: SOLR-660-update-processor.patch


    SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3
    --
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
  • Noble Paul (JIRA) at Jul 27, 2008 at 3:43 am
    [ https://issues.apache.org/jira/browse/SOLR-660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617235#action_12617235 ]

    Noble Paul commented on SOLR-660:
    ---------------------------------

    I noticed one more inconsistency. Factories are provided to control the creation of instances by the API consumers. In this design you almost force the implementers to create a new instance if the user needs to access the solrQueryRequest, solrQueryResponse parameters. As a design, constructing the UpdateRequestProcessor instance should not need these objects. By making available a runtime object in the construction time only , the API disallow the user from having a singleton
    Simplify UpdateRequestProcessor API
    -----------------------------------

    Key: SOLR-660
    URL: https://issues.apache.org/jira/browse/SOLR-660
    Project: Solr
    Issue Type: Improvement
    Components: update
    Affects Versions: 1.3
    Reporter: Ryan McKinley
    Fix For: 1.3

    Attachments: SOLR-660-update-processor.patch


    SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3
    --
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.
  • Noble Paul (JIRA) at Jul 27, 2008 at 3:52 am
    [ https://issues.apache.org/jira/browse/SOLR-660?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617235#action_12617235 ]

    noble.paul edited comment on SOLR-660 at 7/26/08 8:52 PM:
    ----------------------------------------------------------

    I noticed one more inconsistency. Factories are provided to control the creation of instances by the API consumers. In this design you almost force the implementers to create a new instance if the user needs to access the solrQueryRequest, solrQueryResponse parameters. As a design, constructing the UpdateRequestProcessor instance should not need these objects. By making available a runtime objects in the construction time only , the API disallow the user from having a singleton. The optimal design is to move all the runtime objects to method arguments

    was (Author: noble.paul):
    I noticed one more inconsistency. Factories are provided to control the creation of instances by the API consumers. In this design you almost force the implementers to create a new instance if the user needs to access the solrQueryRequest, solrQueryResponse parameters. As a design, constructing the UpdateRequestProcessor instance should not need these objects. By making available a runtime object in the construction time only , the API disallow the user from having a singleton
    Simplify UpdateRequestProcessor API
    -----------------------------------

    Key: SOLR-660
    URL: https://issues.apache.org/jira/browse/SOLR-660
    Project: Solr
    Issue Type: Improvement
    Components: update
    Affects Versions: 1.3
    Reporter: Ryan McKinley
    Fix For: 1.3

    Attachments: SOLR-660-update-processor.patch


    SOLR-269 introduced UpdateRequestProcessor. The existing API/configuration is too complicated and should be simplified before release 1.3
    --
    This message is automatically generated by JIRA.
    -
    You can reply to this email to add a comment to the issue online.

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupsolr-dev @
categorieslucene
postedJul 25, '08 at 7:06p
activeJul 27, '08 at 3:52a
posts11
users1
websitelucene.apache.org...

1 user in discussion

Noble Paul (JIRA): 11 posts

People

Translate

site design / logo © 2019 Grokbase