Example #1
0
 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")
                              )
                      )
           );
Example #2
0
        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);
        }
Example #3
0
 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 }))));
Example #4
0
 public IPromise <IIndexSettings> ConfigureIndexSettings(IndexSettingsDescriptor indexSettingsDescriptor)
 {
     return(indexSettingsDescriptor.Analysis(an => an
                                             .CreateRemoveNumbersCharFilters()
                                             .CreateRemoveNumbersNormalizer()));
 }