private MatchQuery BuildMatchQuery(SearchQueryFilter filter, string value) { var searchColumn = GetSearchColumn(filter); var columnName = _searchColumnNameProvider.GetSearchColumnName(searchColumn); var matchQuery = new MatchQuery { Query = value, MinimumShouldMatch = MinimumShouldMatch.Percentage(MinimumShouldMatchPercentage), Field = new Field(columnName) }; _lastBuildedMatchQuery = matchQuery; return(matchQuery); }
private DeduplicationRule GetDeduplicationRule(string sectionName, DuplicatesRuleBody duplicatesRuleBody) { var filters = duplicatesRuleBody.Filters; if (filters == null || filters.Count == 0) { return(null); } var columns = new List <string>(); foreach (var filter in filters) { var searchColumn = GetSearchColumnFromFilter(sectionName, filter); var searchColumnName = _searchColumnNameProvider.GetSearchColumnName(searchColumn); columns.Add(searchColumnName); } return(new DeduplicationRule(columns)); }