/// <summary> /// If this is specified then it will take precedence over any behaviour specified through Ignore or SetWeightMultiplier - these will be ignored /// </summary> public AutomatedIndexGeneratorFactoryBuilder <TSource, TKey> SetTokenWeightDeterminer( AutomatedIndexGeneratorFactory <TSource, TKey> .WeightDeterminerGenerator weightDeterminerGenerator) { if (weightDeterminerGenerator == null) { throw new ArgumentNullException("weightDeterminerGenerator"); } return(new AutomatedIndexGeneratorFactoryBuilder <TSource, TKey>( _keyRetrieverOverride, _keyComparerOverride, _stringNormaliserOverride, _tokenBreaker, _weightedEntryCombinerOverride, _propertyWeightAppliers, weightDeterminerGenerator, _optionalPropertyForFirstContentRetriever, _captureSourceLocations, _loggerOverride )); }
private AutomatedIndexGeneratorFactoryBuilder( Func <TSource, TKey> keyRetrieverOverride, IEqualityComparer <TKey> keyComparerOverride, IStringNormaliser stringNormaliserOverride, ITokenBreaker tokenBreaker, IndexGenerator.WeightedEntryCombiner weightedEntryCombinerOverride, NonNullImmutableList <IModifyMatchWeights> propertyWeightAppliers, AutomatedIndexGeneratorFactory <TSource, TKey> .WeightDeterminerGenerator tokenWeightDeterminerGeneratorOverride, PropertyInfo optionalPropertyForFirstContentRetriever, bool captureSourceLocations, ILogger loggerOverride) { _keyRetrieverOverride = keyRetrieverOverride; _keyComparerOverride = keyComparerOverride; _stringNormaliserOverride = stringNormaliserOverride; _tokenBreaker = tokenBreaker ?? throw new ArgumentNullException(nameof(tokenBreaker)); _weightedEntryCombinerOverride = weightedEntryCombinerOverride; _propertyWeightAppliers = propertyWeightAppliers ?? throw new ArgumentNullException(nameof(propertyWeightAppliers)); _tokenWeightDeterminerGeneratorOverride = tokenWeightDeterminerGeneratorOverride; _optionalPropertyForFirstContentRetriever = optionalPropertyForFirstContentRetriever; _captureSourceLocations = captureSourceLocations; _loggerOverride = loggerOverride; }