当前位置: 首页>>代码示例>>C#>>正文


C# SearchResult.ContainsKey方法代码示例

本文整理汇总了C#中SearchResult.ContainsKey方法的典型用法代码示例。如果您正苦于以下问题:C# SearchResult.ContainsKey方法的具体用法?C# SearchResult.ContainsKey怎么用?C# SearchResult.ContainsKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SearchResult的用法示例。


在下文中一共展示了SearchResult.ContainsKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CreateFacets

        private static FacetGroup[] CreateFacets(ISearchCriteria criteria, SearchResult<ESDocument>.SearchFacets facets)
        {
            var result = new List<FacetGroup>();

            if (facets != null)
            {
                foreach (var filter in criteria.Filters)
                {
                    var groupLabels = filter.GetLabels();
                    var facetGroup = new FacetGroup(filter.Key, groupLabels);

                    var values = filter.GetValues();

                    // Return all facet terms for attribute filter if values are not defined
                    if (values == null && filter is AttributeFilter)
                    {
                        facetGroup.FacetType = FacetTypes.Attribute;

                        var key = filter.Key.ToLower();
                        if (facets.ContainsKey(key))
                        {
                            var facet = facets[key] as TermsFacetResult;
                            if (facet != null)
                            {
                                foreach (var term in facet.terms)
                                {
                                    var newFacet = new Facet(facetGroup, term.term, term.count, null);
                                    facetGroup.Facets.Add(newFacet);
                                }
                            }
                        }
                    }

                    if (values != null)
                    {
                        foreach (var group in values.GroupBy(v => v.Id))
                        {
                            var valueLabels = group.GetValueLabels();

                            if (filter is AttributeFilter)
                            {
                                facetGroup.FacetType = FacetTypes.Attribute;

                                var key = filter.Key.ToLower();
                                if (facets.ContainsKey(key))
                                {
                                    var facet = facets[key] as TermsFacetResult;
                                    if (facet != null)
                                    {
                                        var term = facet.terms.FirstOrDefault(t => t.term.Equals(group.Key, StringComparison.OrdinalIgnoreCase));
                                        if (term != null)
                                        {
                                            var newFacet = new Facet(facetGroup, group.Key, term.count, valueLabels);
                                            facetGroup.Facets.Add(newFacet);
                                        }
                                    }
                                }
                            }
                            else if (filter is PriceRangeFilter)
                            {
                                facetGroup.FacetType = FacetTypes.PriceRange;

                                var rangeFilter = filter as PriceRangeFilter;
                                if (rangeFilter.Currency.Equals(criteria.Currency, StringComparison.OrdinalIgnoreCase))
                                {
                                    var key = string.Format(CultureInfo.InvariantCulture, "{0}-{1}", filter.Key, group.Key).ToLower();
                                    if (facets.ContainsKey(key))
                                    {
                                        var facet = facets[key] as FilterFacetResult;
                                        if (facet != null && facet.count > 0)
                                        {
                                            var newFacet = new Facet(facetGroup, group.Key, facet.count, valueLabels);
                                            facetGroup.Facets.Add(newFacet);
                                        }
                                    }
                                }
                            }
                            else if (filter is RangeFilter)
                            {
                                facetGroup.FacetType = FacetTypes.Range;

                                var key = filter.Key.ToLower();
                                if (facets.ContainsKey(key))
                                {
                                    var facet = facets[key] as FilterFacetResult;
                                    if (facet != null && facet.count > 0)
                                    {

                                        var newFacet = new Facet(facetGroup, group.Key, facet.count, valueLabels);
                                        facetGroup.Facets.Add(newFacet);
                                    }
                                }
                            }
                            else if (filter is CategoryFilter)
                            {
                                facetGroup.FacetType = FacetTypes.Category;

                                var key = string.Format(CultureInfo.InvariantCulture, "{0}-{1}", filter.Key, group.Key).ToLower();
                                if (facets.ContainsKey(key))
                                {
//.........这里部分代码省略.........
开发者ID:sameerkattel,项目名称:vc-community,代码行数:101,代码来源:ElasticSearchProvider.cs


注:本文中的SearchResult.ContainsKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。