예제 #1
0
        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);
        }
예제 #2
0
        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));
        }