diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-10-23 11:32:49 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-10-23 11:32:49 +0200 |
commit | d9f47b3538d8f7a9f8fce1099391cb881388657d (patch) | |
tree | d729506edc3fbff972d5ffec19ac1346bf0b6baf /container-search/src/main/java/com/yahoo/prelude/IndexModel.java | |
parent | 46546965f885ef1b9b2597d665329b9e36e31d69 (diff) |
Allow conflicting aliases across document types
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/IndexModel.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/IndexModel.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/IndexModel.java b/container-search/src/main/java/com/yahoo/prelude/IndexModel.java index 45214d4d3df..d2950078868 100644 --- a/container-search/src/main/java/com/yahoo/prelude/IndexModel.java +++ b/container-search/src/main/java/com/yahoo/prelude/IndexModel.java @@ -7,6 +7,7 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; +import java.util.logging.Logger; import java.util.stream.Collectors; import com.yahoo.search.config.IndexInfoConfig; @@ -20,6 +21,8 @@ import com.yahoo.container.QrSearchersConfig; */ public final class IndexModel { + private static final Logger log = Logger.getLogger(IndexModel.class.getName()); + // Copied from MasterClustersInfoUpdater. It's a temporary workaround for IndexFacts private Map<String, List<String>> masterClusters; private Map<String, SearchDefinition> searchDefinitions; @@ -112,8 +115,15 @@ public final class IndexModel { union.getOrCreateIndex(index.getName()); for (String command : index.allCommands()) union.addCommand(index.getName(), command); - for (String alias : index.aliases()) - union.addAlias(alias, index.getName()); + for (String alias : index.aliases()) { + try { + union.addAlias(alias, index.getName()); + } + catch (IllegalArgumentException e) { + log.fine("Conflicting alias '" + alias + " of " + index + " in " + sd + + " will not take effect for queries which does not specify that search definition"); + } + } } } |