В 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?