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 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 <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 }))));
public IPromise <IIndexSettings> ConfigureIndexSettings(IndexSettingsDescriptor indexSettingsDescriptor) { return(indexSettingsDescriptor.Analysis(an => an .CreateRemoveNumbersCharFilters() .CreateRemoveNumbersNormalizer())); }