Как создать индекс с конкретными сопоставлениями и свойствами Elasticsearch NEST 7.3? - PullRequest
0 голосов
/ 20 сентября 2019

В NEST 6.XI был следующий вариант: для отображений:


    public static Func<MappingsDescriptor, IPromise<IMappings>> Mappings =>
                mappings => mappings
                    .Map<Object>(map => map
                        .Dynamic(false)
                        .AutoMap()
                        .Properties(ObjectProperties));

и для свойств:

private static Func<PropertiesDescriptor<Object>, IPromise<IProperties>> ObjectProperties =>
          properties => properties
            .Keyword(property => property
                      .Name(object => object.Id)
                      .Normalizer(LowercaseNormalizerName))
            .Keyword(property => property
                      .Name(object => object.ReleaseNumber)
                      .Normalizer(LowercaseNormalizerName));

В качестве результата у меня были полные настройки индекса:

public static Func<IndexSettingsDescriptor, IPromise<IIndexSettings>> Settings =>
            settings => settings
                .Analysis(analysis => analysis
                    .CharFilters(filters => filters
                        .PatternReplace(CharactersFilterName, descriptor => descriptor
                            .Pattern("[^A-Za-z0-9]+")
                            .Replacement(string.Empty)))
                    .Normalizers(normalizers => normalizers
                        .Custom(LowercaseNormalizerName, lowercaseAnalyzer => lowercaseAnalyzer
                            .Filters(LowercaseFilterName)
                            .CharFilters(SpecialCharactersFilterName)))
                    .Tokenizers(tokenizers => tokenizers
                        .Pattern(PatternTokenizerName, patternTokenizer => patternTokenizer
                            .Pattern("[^\\w\\-\\+&]+")))
                    .Analyzers(analyzers => analyzers
                        .Custom(AlphanumericStringAnalyzerName, patternAnalyzer => patternAnalyzer
                            .Tokenizer(StandardTokenizerName)
                            .Filters(LowercaseFilterName)
                            .CharFilters(SpecialCharactersFilterName)))));

К сожалению, у меня возникли проблемы с настройкой новой версии.Не могли бы вы помочь с такими настройками индекса в NEST 7?

...