@Override public List<ActionHandler<? extends ActionRequest, ? extends ActionResponse>> getActions() { List<ActionHandler<? extends ActionRequest, ? extends ActionResponse>> actions = new ArrayList<>(1); if(!tribeNodeClient && !disabled && !sslOnly) { actions.add(new ActionHandler<>(ConfigUpdateAction.INSTANCE, TransportConfigUpdateAction.class)); actions.add(new ActionHandler<>(LicenseInfoAction.INSTANCE, TransportLicenseInfoAction.class)); actions.add(new ActionHandler<>(WhoAmIAction.INSTANCE, TransportWhoAmIAction.class)); } return actions; }
/** * Node-level modules */ @Override public Collection<Class<? extends Module>> modules() { return ImmutableList.<Class<? extends Module>>builder().addAll(super.modules()).add(NodeLevelModule.class).build(); }
@Override public Collection<Class<? extends LifecycleComponent>> services() { return ImmutableList.<Class<? extends LifecycleComponent>>builder().addAll(super.services()).add(MongoClientService.class).build(); }
/** * Add a reader for the shard level results of the aggregation with {@linkplain #getName}'s {@link ParseField#getPreferredName()} as * the {@link NamedWriteable#getWriteableName()}. */ public AggregationSpec addResultReader(Writeable.Reader<? extends InternalAggregation> resultReader) { return addResultReader(getName().getPreferredName(), resultReader); }
private static void issueWarnings(Client tc) { NodesInfoResponse nir = tc.admin().cluster().nodesInfo(new NodesInfoRequest()).actionGet(); Version maxVersion = nir.getNodes().stream().max((n1,n2) -> n1.getVersion().compareTo(n2.getVersion())).get().getVersion(); Version minVersion = nir.getNodes().stream().min((n1,n2) -> n1.getVersion().compareTo(n2.getVersion())).get().getVersion(); if(!maxVersion.equals(minVersion)) { System.out.println("WARNING: Your cluster consists of different node versions. It is not recommended to run sgadmin against a mixed cluster. This may fail."); System.out.println(" Minimum node version is "+minVersion.toString()); System.out.println(" Maximum node version is "+maxVersion.toString()); } else { System.out.println("Elasticsearch Version: "+minVersion.toString()); } if(nir.getNodes().size() > 0) { List<PluginInfo> pluginInfos = nir.getNodes().get(0).getPlugins().getPluginInfos(); String sgVersion = pluginInfos.stream().filter(p->p.getClassname().equals("com.floragunn.searchguard.SearchGuardPlugin")).map(p->p.getVersion()).findFirst().orElse("<unknown>"); System.out.println("Search Guard Version: "+sgVersion); } } }
/** * Add a reader for the shard level results of the aggregation with {@linkplain #getName()}'s {@link ParseField#getPreferredName()} * as the {@link NamedWriteable#getWriteableName()}. */ public PipelineAggregationSpec addResultReader(Writeable.Reader<? extends InternalAggregation> resultReader) { return addResultReader(getName().getPreferredName(), resultReader); }
private void registerSignificanceHeuristics(List<SearchPlugin> plugins) { registerSignificanceHeuristic(new SearchExtensionSpec<>(ChiSquare.NAME, ChiSquare::new, ChiSquare.PARSER)); registerSignificanceHeuristic(new SearchExtensionSpec<>(GND.NAME, GND::new, GND.PARSER)); registerSignificanceHeuristic(new SearchExtensionSpec<>(JLHScore.NAME, JLHScore::new, JLHScore::parse)); registerSignificanceHeuristic(new SearchExtensionSpec<>(MutualInformation.NAME, MutualInformation::new, MutualInformation.PARSER)); registerSignificanceHeuristic(new SearchExtensionSpec<>(PercentageScore.NAME, PercentageScore::new, PercentageScore::parse)); registerSignificanceHeuristic(new SearchExtensionSpec<>(ScriptHeuristic.NAME, ScriptHeuristic::new, ScriptHeuristic::parse)); registerFromPlugin(plugins, SearchPlugin::getSignificanceHeuristics, this::registerSignificanceHeuristic); }
private static Set<Bundle> findBundles(final Path directory, String type) throws IOException { final Set<Bundle> bundles = new HashSet<>(); for (final Path plugin : findPluginDirs(directory)) { final Bundle bundle = readPluginBundle(bundles, plugin, type); bundles.add(bundle); } return bundles; }
public void onIndexModule(IndexModule indexModule) { for (Tuple<PluginInfo, Plugin> plugin : plugins) { plugin.v2().onIndexModule(indexModule); } }
/** * Mark an {@link AnalysisProvider} as requiring the index's settings. * * @deprecated use {@link #requiresAnalysisSettings(AnalysisProvider)} */ @Deprecated static <T> AnalysisProvider<T> requriesAnalysisSettings(AnalysisProvider<T> provider) { return requiresAnalysisSettings(provider); }
/** * Get Custom Name Resolvers list based on a Discovery Plugins list * @param discoveryPlugins Discovery plugins list */ private List<NetworkService.CustomNameResolver> getCustomNameResolvers(List<DiscoveryPlugin> discoveryPlugins) { List<NetworkService.CustomNameResolver> customNameResolvers = new ArrayList<>(); for (DiscoveryPlugin discoveryPlugin : discoveryPlugins) { NetworkService.CustomNameResolver customNameResolver = discoveryPlugin.getCustomNameResolver(settings); if (customNameResolver != null) { customNameResolvers.add(customNameResolver); } } return customNameResolvers; }
public List<ExecutorBuilder<?>> getExecutorBuilders(Settings settings) { final ArrayList<ExecutorBuilder<?>> builders = new ArrayList<>(); for (final Tuple<PluginInfo, Plugin> plugin : plugins) { builders.addAll(plugin.v2().getExecutorBuilders(settings)); } return builders; }
private void registerSuggesters(List<SearchPlugin> plugins) { registerSmoothingModels(namedWriteables); registerSuggester(new SuggesterSpec<>("term", TermSuggestionBuilder::new, TermSuggestionBuilder::fromXContent)); registerSuggester(new SuggesterSpec<>("phrase", PhraseSuggestionBuilder::new, PhraseSuggestionBuilder::fromXContent)); registerSuggester(new SuggesterSpec<>("completion", CompletionSuggestionBuilder::new, CompletionSuggestionBuilder::fromXContent)); registerFromPlugin(plugins, SearchPlugin::getSuggesters, this::registerSuggester); }
/** Get bundles for plugins installed in the given modules directory. */ static Set<Bundle> getModuleBundles(Path modulesDirectory) throws IOException { return findBundles(modulesDirectory, "module"); }
@Override public String toString() { return toString(""); }
static ClassLoader createLoader(ClassLoader parent, List<ClassLoader> extendedLoaders) { return ExtendedPluginsClassLoader.create(parent, extendedLoaders); } }
private static Function<String, Predicate<String>> getFieldFilter(List<MapperPlugin> mapperPlugins) { Function<String, Predicate<String>> fieldFilter = MapperPlugin.NOOP_FIELD_FILTER; for (MapperPlugin mapperPlugin : mapperPlugins) { fieldFilter = and(fieldFilter, mapperPlugin.getFieldFilter()); } return fieldFilter; }
private void registerRescorers(List<SearchPlugin> plugins) { registerRescorer(new RescorerSpec<>(QueryRescorerBuilder.NAME, QueryRescorerBuilder::new, QueryRescorerBuilder::fromXContent)); registerFromPlugin(plugins, SearchPlugin::getRescorers, this::registerRescorer); }
private void registerMovingAverageModels(List<SearchPlugin> plugins) { registerMovingAverageModel(new SearchExtensionSpec<>(SimpleModel.NAME, SimpleModel::new, SimpleModel.PARSER)); registerMovingAverageModel(new SearchExtensionSpec<>(LinearModel.NAME, LinearModel::new, LinearModel.PARSER)); registerMovingAverageModel(new SearchExtensionSpec<>(EwmaModel.NAME, EwmaModel::new, EwmaModel.PARSER)); registerMovingAverageModel(new SearchExtensionSpec<>(HoltLinearModel.NAME, HoltLinearModel::new, HoltLinearModel.PARSER)); registerMovingAverageModel(new SearchExtensionSpec<>(HoltWintersModel.NAME, HoltWintersModel::new, HoltWintersModel.PARSER)); registerFromPlugin(plugins, SearchPlugin::getMovingAverageModels, this::registerMovingAverageModel); }
/** Get bundles for plugins installed in the given plugins directory. */ static Set<Bundle> getPluginBundles(final Path pluginsDirectory) throws IOException { return findBundles(pluginsDirectory, "plugin"); }