Esempio n. 1
0
        private MatchResult GetExistsIIIds(object[] iiidsFilter)
        {
            if (iiidsFilter == null || iiidsFilter.Length == 0)
            {
                return(null);
            }
            var searchService = GetService <ISearchService>();
            var matchRequest  = new MatchRequest();

            matchRequest.Top = 10;
            var dataMatchFilter = new Dictionary <string, object[]>();

            dataMatchFilter.Add("iiid", iiidsFilter);
            matchRequest.Filter = dataMatchFilter;
            var dataMatchSort = new List <PKSKeyValuePair <string, object> >();

            dataMatchSort.Add(new PKSKeyValuePair <string, object>("iiid", 1));
            matchRequest.Sort = dataMatchSort;
            var fieldFilter = new SearchSourceFilter();

            fieldFilter.Includes = new List <string> {
                "iiid", "dataid"
            };
            matchRequest.Fields = fieldFilter;
            return(searchService.Match(matchRequest));
        }
Esempio n. 2
0
        private SearchMetadataRequest GetSearchMetadataRequest(string iiid)
        {
            SearchMetadataRequest request = new SearchMetadataRequest();

            request.IIId = iiid;
            SearchSourceFilter filter = new SearchSourceFilter();

            filter.Includes = new List <string>()
            {
                MetadataConsts.IIId, MetadataConsts.ShowType, MetadataConsts.PageId, MetadataConsts.DataId, MetadataConsts.Title, MetadataConsts.CreatedDate, MetadataConsts.Author, MetadataConsts.Abstract
            };
            request.Fields = filter;
            return(request);
        }
Esempio n. 3
0
        private SearchMetadataRequest GetSearchMetadataRequest(string iiid)
        {
            var request = new SearchMetadataRequest();

            request.IIId = iiid;
            var filter = new SearchSourceFilter();

            filter.Includes = new List <string>()
            {
                MetadataConsts.IIId, MetadataConsts.PageId, MetadataConsts.DataId, MetadataConsts.Title, MetadataConsts.System, MetadataConsts.ShowType
            };
            request.Fields = filter;
            return(request);
        }
Esempio n. 4
0
        /// <summary>
        /// 构建返回字段过滤器
        /// </summary>
        /// <param name="fields">字段投影</param>
        /// <returns></returns>
        public SourceFilterDescriptor <T> BuildFields(SearchSourceFilter fields)
        {
            if (fields == null)
            {
                return(null);
            }
            var fieldDesc = new SourceFilterDescriptor <T>()
                            .IncludeAll();

            if (fields.Excludes != null && fields.Excludes.Count > 0)
            {
                fieldDesc = fieldDesc.Excludes(ec => ec.Fields(fields.Excludes.ToArray()));
            }
            if (fields.Includes != null && fields.Includes.Count > 0)
            {
                fieldDesc = fieldDesc.Includes(ic => ic.Fields(fields.Includes.ToArray()));
            }

            return(fieldDesc);
        }