Exemple #1
0
        public override List <SkinnyItem> GetItems(string databaseName,
                                                   string indexName,
                                                   string language,
                                                   string templateFilter,
                                                   string locationFilter,
                                                   string fullTextQuery)
        {
            var refinements = GetRefinements();

            var searchParam = new MultiFieldSearchParam
            {
                Database       = databaseName,
                Refinements    = refinements,
                InnerCondition = GetCondition(OccuranceList),
                LocationIds    = locationFilter,
                TemplateIds    = templateFilter,
                FullTextQuery  = fullTextQuery,
                Language       = language
            };

            using (var runner = new QueryRunner(indexName))
            {
                return(runner.GetItems(searchParam));
            }
        }
        public static List <SkinnyItem> GetItems(string indexName,
                                                 string language,
                                                 string templateFilter,
                                                 string locationFilter,
                                                 string fullTextQuery,
                                                 List <MultiFieldSearchParam.Refinement> refinements,
                                                 QueryOccurance occuranceTypeRefinements = QueryOccurance.Must,
                                                 bool performSort     = false,
                                                 string sortFieldName = "",
                                                 bool reverse         = false)
        {
            var searchParam = new MultiFieldSearchParam
            {
                Database       = "web",
                Refinements    = refinements,
                InnerCondition = occuranceTypeRefinements,
                LocationIds    = locationFilter,
                TemplateIds    = templateFilter,
                FullTextQuery  = fullTextQuery,
                Language       = language
            };

            using (var runner = new QueryRunner(indexName))
            {
                if (performSort)
                {
                    return(runner.GetItems(searchParam, sortField: sortFieldName, reverse: reverse));
                }
                else
                {
                    return(runner.GetItems(searchParam));
                }
            }
        }
        public static List <SkinnyItem> GetItems(string indexName,
                                                 string language,
                                                 string templateFilter,
                                                 string locationFilter,
                                                 string fullTextQuery,
                                                 string relationFilter,
                                                 List <MultiFieldSearchParam.Refinement> refinements,
                                                 QueryOccurance occuranceTypeRefinements,
                                                 List <DateRangeSearchParam.DateRange> dateRanges,
                                                 QueryOccurance occuranceTypeDateRanges,
                                                 List <NumericRangeSearchParam.NumericRangeField> numRanges,
                                                 QueryOccurance occuranceTypeNumRanges,
                                                 string fieldName,
                                                 string fieldValue,
                                                 bool canBePartial,
                                                 bool performSort     = false,
                                                 string sortFieldName = "",
                                                 bool reverse         = false)
        {
            var searchParam = new SearchParam
            {
                Database      = "web",
                RelatedIds    = relationFilter,
                Language      = language,
                TemplateIds   = templateFilter,
                LocationIds   = locationFilter,
                FullTextQuery = fullTextQuery
            };

            var searchParamMultiField = new MultiFieldSearchParam
            {
                Refinements    = refinements,
                InnerCondition = occuranceTypeRefinements
            };

            var searchParamDate = new DateRangeSearchParam
            {
                Ranges         = dateRanges,
                InnerCondition = occuranceTypeDateRanges
            };

            var searchParamNum = new NumericRangeSearchParam
            {
                Ranges         = numRanges,
                InnerCondition = occuranceTypeNumRanges
            };

            var searchParamField = new FieldSearchParam
            {
                FieldName  = fieldName,
                FieldValue = fieldValue,
                Partial    = canBePartial
            };

            using (var runner = new QueryRunner(indexName))
            {
                if (performSort)
                {
                    return(runner.GetItems(new[] { searchParam, searchParamMultiField, searchParamDate, searchParamField, searchParamNum }, sortField: sortFieldName, reverse: reverse));
                }
                else
                {
                    return(runner.GetItems(new[] { searchParam, searchParamMultiField, searchParamDate, searchParamField, searchParamNum }));
                }
            }
        }