public static AnalyzersDescriptor AddAutoCompleteShingleAnalyzer(this AnalyzersDescriptor ad) { return(ad.Custom(ElasticAnalyzers.AutoCompleteShingle, ang => ang .Tokenizer(ElasticTokenizers.Lowercase) .Filters(ElasticFilters.Lowercase, ElasticFilters.AsciiFolding, ElasticFilters.AutocompleteShingle) )); }
public static AnalyzersDescriptor AddTaxonomyAnalyzers(this AnalyzersDescriptor ad, IEnumerable <MetadataProperty> metadataProperties) { foreach (var metadataProperty in metadataProperties) { if (metadataProperty == null || !metadataProperty.Properties.ContainsKey(Strings.Taxonomy)) { continue; } // TODO SL: remove unused IDictionary <TaxonomyResultDTO, IList <TaxonomyResultDTO> > dictionary = TaxonomyTransformer.BuildFlatDictionary(metadataProperty.Properties[Strings.Taxonomy]); var taxonomyTextKey = metadataProperty.Key.GetPreparedAnalyzerName(ElasticAnalyzers.TaxonomyTextPrefix); var taxonomyTextSearchKey = metadataProperty.Key.GetPreparedAnalyzerName(ElasticAnalyzers.TaxonomyTextSearchPrefix); string autoPhraseKey = metadataProperty.Key.GetPreparedAnalyzerName(ElasticFilters.AutoPhrasePrefix); string vocabularyKey = metadataProperty.Key.GetPreparedAnalyzerName(ElasticFilters.VocabularyPrefix); ad.AddStandardTokenizerFilter(taxonomyTextKey, ElasticFilters.Lowercase, autoPhraseKey, vocabularyKey); ad.AddStandardTokenizerFilter(taxonomyTextKey + "_ngram", ElasticFilters.Lowercase, autoPhraseKey, vocabularyKey, ElasticFilters.Ngram); ad.AddStandardTokenizerFilter(taxonomyTextKey + "_exact_taxo", ElasticFilters.Lowercase, autoPhraseKey, vocabularyKey, ElasticFilters.FilterWordDelimiter, ElasticFilters.Ngram); ad.AddStandardTokenizerFilter(taxonomyTextSearchKey, ElasticFilters.Lowercase, autoPhraseKey); } return(ad); }
public static AnalyzersDescriptor AddDymTrigramAnalyzer(this AnalyzersDescriptor ad) { return(ad.Custom(ElasticAnalyzers.DidYouMeanTrigram, ang => ang .Tokenizer(ElasticTokenizers.Standard) .Filters(ElasticFilters.Lowercase, ElasticFilters.AsciiFolding, ElasticFilters.AutocompleteShingle) )); }
private static IPromise <IAnalyzers> CreateAnalyzers(AnalyzersDescriptor analyzersDescriptor) { return(analyzersDescriptor .Custom(Analyzers.NgramAnalyzer, custom => custom .Tokenizer("standard") .Filters("lowercase", TokenFilters.NgramFilter))); }
private static IPromise <IAnalyzers> SetupAnalyzer(AnalyzersDescriptor analyzersDescriptor) { return(analyzersDescriptor.Custom(Analyzer.CustomAnalyzer, s => s .Tokenizer(TokenFilter.Standard) .Filters(TokenFilter.LowerCase, TokenFilter.WordDelimiter, TokenFilter.EnglishStopWords, TokenFilter.NGram))); }
private AnalyzersDescriptor CreateAnalyzersDescriptor(int shingleCount, string tokenizer, string charHtmlFilter, TokenFiltersDescriptor tokenFilters) { var analyzers = new AnalyzersDescriptor(); for (var i = 1; i <= shingleCount; i++) { var actualIndex = i; var filterName = string.Format("{0}{1}", _filterPrefix, actualIndex); if (i != 1) { var filterDescriptor = new ShingleTokenFilterDescriptor().MinShingleSize(actualIndex) .MaxShingleSize(actualIndex) .OutputUnigrams(false) .OutputUnigramsIfNoShingles(false); tokenFilters.Shingle(filterName, desc => filterDescriptor); } var analyzerName = string.Format("{0}{1}", _analyzerPrefix, actualIndex); var analyzer = i != 1 ? new CustomAnalyzer { Filter = new List <string> { "lowercase", "word_filter", filterName, "filler_filter" }, Tokenizer = tokenizer, CharFilter = new List <string> { charHtmlFilter } } : new CustomAnalyzer { Filter = new List <string> { "lowercase", "word_filter", "filler_filter" }, Tokenizer = tokenizer, CharFilter = new List <string> { charHtmlFilter } }; analyzers.Custom(analyzerName, a => analyzer); } return(analyzers); }
private static AnalysisDescriptor CreateAnalysisDescriptor(string charHtmlFilter, TokenFiltersDescriptor tokenFilters, AnalyzersDescriptor analyzers) { var analysisDescriptor = new AnalysisDescriptor(); analysisDescriptor.CharFilters(c => c.HtmlStrip(charHtmlFilter)); analysisDescriptor.TokenFilters(t => tokenFilters); analysisDescriptor.Analyzers(a => analyzers); return(analysisDescriptor); }
protected virtual AnalyzersDescriptor ConfigureAnalyzers(AnalyzersDescriptor analyzers, string documentType) { return(analyzers .Custom(SearchableFieldAnalyzerName, customAnalyzer => ConfigureSearchableFieldAnalyzer(customAnalyzer, documentType))); }
public static AnalyzersDescriptor AddDmpStandardEnglishAnalyzer(this AnalyzersDescriptor ad) { return(ad.Custom(ElasticAnalyzers.StandardEnglish, nga => nga .Tokenizer(ElasticTokenizers.Standard) .Filters(ElasticFilters.Lowercase, ElasticFilters.EnglishStopwords, ElasticFilters.AsciiFolding))); }
// Analyzers for standard text analysis public static AnalyzersDescriptor AddDmpNgramAnalyzer(this AnalyzersDescriptor ad) { return(ad.Custom(ElasticAnalyzers.Ngram, nga => nga .Tokenizer(ElasticTokenizers.Ngram) .Filters(ElasticFilters.Lowercase, ElasticFilters.AsciiFolding))); }
public static AnalyzersDescriptor AddStandardTokenizerFilter(this AnalyzersDescriptor ad, string name, params string[] filters) { return(ad.Custom(name, azs => azs.Tokenizer(ElasticTokenizers.Standard).Filters(filters))); }