static IPromise <IIndexSettings> CommonIndexDescriptor(IndexSettingsDescriptor descriptor) { return(descriptor .NumberOfReplicas(1) .NumberOfShards(1) .Analysis(InitCommonAnalyzers)); }
public IPromise <IIndexSettings> ConfigureConcatenateAndAutocompleteSettings(IndexSettingsDescriptor setting) { return(setting .NumberOfShards(_numberOfShards) .NumberOfReplicas(_numberOfReplicas) .Analysis(analysis => ConfigureConcatenateAndAutocompleteAnalysis(analysis)) .Setting("index.gc_deletes", "1h")); // 1 hour }
protected virtual IndexSettingsDescriptor ConfigureIndexSettings(IndexSettingsDescriptor settings, string documentType) { // https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html#mapping-limit-settings var fieldsLimit = GetFieldsLimit(); return(settings .Setting("index.mapping.total_fields.limit", fieldsLimit) .Analysis(a => a .TokenFilters(tokenFilters => ConfigureTokenFilters(tokenFilters, documentType)) .Analyzers(analyzers => ConfigureAnalyzers(analyzers, documentType)))); }
private IndexSettingsDescriptor applyIndexSettings(IndexSettingsDescriptor s) { s = s.NumberOfReplicas(configuration.NumberOfReplicas) .NumberOfShards(configuration.NumberOfShards) .RefreshInterval(configuration.RefreshInterval); if (!string.IsNullOrWhiteSpace(configuration.DefaultPipeline)) { s = s.DefaultPipeline(configuration.DefaultPipeline); } return(s); }
public static IPromise <IIndexSettings> AnalysisSettings(IndexSettingsDescriptor settings) => settings .Analysis(analysis => analysis .TokenFilters(filters => filters .Stop("stop", stop => stop.StopWords("_english_", "_russian_")) .Stemmer("english_stemmer", stemmer => stemmer.Language("english")) .Stemmer("english_possessive_stemmer", stemmer => stemmer.Language("possessive_english")) .Stemmer("russian_stemmer", stemmer => stemmer.Language("russian")) ) .Analyzers(analyzers => analyzers .Custom("english_russian", analyzer => analyzer .Tokenizer("standard") .Filters("lowercase", "stop", "english_stemmer", "english_possessive_stemmer", "russian_stemmer") ) ) );
private IPromise <IndexSettings> GetSetting(IndexSettingsDescriptor setting) => setting.Analysis(a => a .Analyzers(azs => azs.Custom(NameAnalyzer, c => c.Tokenizer(NameTokenizer).Filters("lowercase"))) .Tokenizers(t => t.EdgeNGram(NameTokenizer, ng => ng.MinGram(3).MaxGram(20).TokenChars(new[] { TokenChar.Letter }))));
private static IndexSettingsDescriptor GetIndexSettings() { #region TokenFilters //We add the danish stop word and stemmer filters. var tokenFilters = new Dictionary <string, ITokenFilter> { { "english_stop", new StopTokenFilter { StopWords = "_english_" } }, { "english_snow", new SnowballTokenFilter() { Language = SnowballLanguage.English } }, }; #endregion #region Analyzers //We create a custom analyzer to use in the index var analyzers = new Dictionary <string, IAnalyzer> { { "english", new CustomAnalyzer { CharFilter = new[] { "html_strip" }, Filter = new [] { "lowercase", "english_stop", "english_snow", "asciifolding" }, Tokenizer = "standard" } }, { "default", new CustomAnalyzer { CharFilter = new[] { "html_strip" }, Filter = new[] { "lowercase", "asciifolding" }, Tokenizer = "standard" } } }; #endregion var indexSettings = new IndexSettingsDescriptor(); indexSettings.NumberOfShards(1); indexSettings.NumberOfReplicas(0); indexSettings.Analysis(d => new Analysis { TokenFilters = new TokenFilters(tokenFilters), Analyzers = new Analyzers(analyzers) }); return(indexSettings); }
private IPromise <IIndexSettings> CreateSettings(IndexSettingsDescriptor settingsDescriptor) { return(settingsDescriptor .Setting("max_ngram_diff", 7) .Analysis(CreateAnalysis)); }
public IPromise <IIndexSettings> ConfigureIndexSettings(IndexSettingsDescriptor indexSettingsDescriptor) { return(indexSettingsDescriptor.Analysis(an => an .CreateRemoveNumbersCharFilters() .CreateRemoveNumbersNormalizer())); }
public IPromise <IIndexSettings> ConfigureNonConcatenateAndAutocompleteSettings(IndexSettingsDescriptor setting) { return(setting .NumberOfShards(_numberOfShards) .NumberOfReplicas(_numberOfReplicas) .Setting("index.max_ngram_diff", int.MaxValue) .Setting("index.gc_deletes", "1h")); // 1 hour }
private static IPromise <IIndexSettings> SetupSetting(IndexSettingsDescriptor indexSettings) { return(indexSettings .Setting("max_ngram_diff", 7) .Analysis(SetupAnalysis)); }