You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-dev@lucene.apache.org by "Ryan McKinley (JIRA)" <ji...@apache.org> on 2008/07/25 21:05:31 UTC
[jira] Created: (SOLR-660) Simlify UpdateRequestProcessor API
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.
[jira] Updated: (SOLR-660) Simplify UpdateRequestProcessor API
Posted by "Shalin Shekhar Mangar (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Issue Comment Edited: (SOLR-660) Simplify
UpdateRequestProcessor API
Posted by "Ryan McKinley (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Commented: (SOLR-660) Simplify UpdateRequestProcessor API
Posted by "Ryan McKinley (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Issue Comment Edited: (SOLR-660) Simplify
UpdateRequestProcessor API
Posted by "Noble Paul (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Issue Comment Edited: (SOLR-660) Simplify
UpdateRequestProcessor API
Posted by "Noble Paul (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Commented: (SOLR-660) Simplify UpdateRequestProcessor API
Posted by "Noble Paul (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Commented: (SOLR-660) Simplify UpdateRequestProcessor API
Posted by "Noble Paul (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Commented: (SOLR-660) Simplify UpdateRequestProcessor API
Posted by "Shalin Shekhar Mangar (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Resolved: (SOLR-660) Simplify UpdateRequestProcessor API
Posted by "Ryan McKinley (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Updated: (SOLR-660) Simlify UpdateRequestProcessor API
Posted by "Ryan McKinley (JIRA)" <ji...@apache.org>.
[ 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.