[
https://issues.apache.org/jira/browse/SOLR-11722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16322993#comment-16322993
]
ASF GitHub Bot commented on SOLR-11722:
---------------------------------------
Github user dsmiley commented on a diff in the pull request:
https://github.com/apache/lucene-solr/pull/304#discussion_r161071581
--- Diff:
solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java ---
@@ -962,6 +982,76 @@ public static CollectionOperation get(CollectionAction
action) {
}
}
+ private static SolrParams convertToV1WhenRequired(SolrQueryRequest req,
ModifiableSolrParams params) {
+ SolrParams v1Params = params; // (maybe...)
+
+ // in the v2 world we get a data map based on the json request, from
the CommandOperation associated
+ // with the request, so locate that if we can.. if we find it we have
to translate the v2 request
+ // properties to v1 params, otherwise we're already good to go.
+ List<CommandOperation> cmds = req.getCommands(true);
+ if (cmds.size() > 1) {
+ // todo: not sure if this is the right thing to do here, but also
not sure what to do if there is more than one...
+ throw new SolrException(BAD_REQUEST, "Only one command is allowed
when creating a routed alias");
+ }
+ CommandOperation c = cmds.size() == 0 ? null : cmds.get(0);
+ if (c != null) { // v2 api, do conversion to v1
+ v1Params = new
BaseHandlerApiSupport.V2ToV1SolrParams(CollectionApiMapping.Meta.CREATE_COLLECTION,
+ req.getPathTemplateValues(), true, params,
+ new CommandOperation("create",
c.getDataMap().get("create-collection")));
+ }
+ return v1Params;
+ }
+
+ private static Map<String, Object>
parseColletionCreationProps(CollectionsHandler h, SolrParams params, String
prefix)
--- End diff --
typo
> API to create a Time Routed Alias and first collection
> ------------------------------------------------------
>
> Key: SOLR-11722
> URL: https://issues.apache.org/jira/browse/SOLR-11722
> Project: Solr
> Issue Type: Sub-task
> Security Level: Public(Default Security Level. Issues are Public)
> Components: SolrCloud
> Reporter: David Smiley
> Attachments: SOLR-11722.patch, SOLR-11722.patch
>
>
> This issue is about creating a single API command to create a "Time Routed
> Alias" along with its first collection. Need to decide what endpoint URL it
> is and parameters.
> Perhaps in v2 it'd be {{/api/collections?command=create-routed-alias}} or
> alternatively piggy-back off of command=create-alias but we add more options,
> perhaps with a prefix like "router"?
> Inputs:
> * alias name
> * misc collection creation metadata (e.g. config, numShards, ...) perhaps in
> this context with a prefix like "collection."
> * metadata for TimeRoutedAliasUpdateProcessor, currently: router.field
> * date specifier for first collection; can include "date math".
> We'll certainly add more options as future features unfold.
> I believe the collection needs to be created first (referring to the alias
> name via a core property), and then the alias pointing to it which demands
> collections exist first. When figuring the collection name, you'll need to
> reference the format in TimeRoutedAliasUpdateProcessor.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]