[ https://issues.apache.org/jira/browse/SOLR-11722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16323000#comment-16323000 ]
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_r161078867 --- Diff: solr/core/src/java/org/apache/solr/cloud/CreateAliasCmd.java --- @@ -68,34 +249,100 @@ public void call(ClusterState state, ZkNodeProps message, NamedList results) Thread.sleep(100); } + private Map<String, String> buildAliasMap(String routedField, String routingType, String tz, String increment, String maxFutureMs, ZkNodeProps collectionProps) { + Map<String, Object> properties = collectionProps.getProperties(); + Map<String,String> cleanMap = properties.entrySet().stream() + .filter(stringObjectEntry -> + !"fromApi".equals(stringObjectEntry.getKey()) + && !"stateFormat".equals(stringObjectEntry.getKey()) + && !"name".equals(stringObjectEntry.getKey())) + .collect(Collectors.toMap((e) -> "collection-create." + e.getKey(), e -> String.valueOf(e.getValue()))); + cleanMap.put(ROUTING_FIELD, routedField); + cleanMap.put(ROUTING_TYPE, routingType); + cleanMap.put(ROUTING_INCREMENT, increment); + cleanMap.put(ROUTING_MAX_FUTURE, maxFutureMs); + cleanMap.put(TZ, tz); + return cleanMap; + } + + private Instant validateStart(TimeZone zone, DateTimeFormatter fmt, String start) { --- End diff -- This appears redundant with using DateMathParser earlier and I'm sure we don't need so much code for this matter (ignore millisecond truncation; in practice the user is going to do something like `/MONTH` or `/DAY` for start. > 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: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org