Пример #1
0
        /// <summary>
        /// 删除索引
        /// </summary>
        /// <param name="SNs"></param>
        public static void deleteIndex(string[] SNs)
        {
            if (!IsUsingIndex)
            {
                return;
            }
            SearchEngine se = SearchEngineClient.GetSearchEngineObject();

            se.DeleteImages(SNs);
        }
Пример #2
0
        public static DataSet Search(string keyword, string beginDate, string endDate, string Userid, int PageSize, int PageNum, ref int rowCount, string resourceType)
        {
            /*
             * 存在的问题:
             * 1、不能同时选择两种资源类型
             * 2、没有跟机构相关联上
             * 4、返回的结果有重复的资源,应该取唯一值
             */


            SearchEngine.SearchParameter sp = new SearchEngine.SearchParameter();
            SearchEngine se = SearchEngineClient.GetSearchEngineObject();

            sp.keywords = keyword;
            if ((!string.IsNullOrEmpty(beginDate)) && (!string.IsNullOrEmpty(endDate)))
            {
                sp.startDate = Convert.ToDateTime(beginDate);
                sp.endDate   = Convert.ToDateTime(endDate);
            }

            sp.ResourceType        = resourceType.Replace(',', ' ');
            sp.pageSize            = PageSize;
            sp.pageIndex           = PageNum;
            sp.highSearchParameter = "VS:2";


            DataTable dt = se.Search(ref sp);

            /*过滤结果中的重复项,类似于select distinct
             * int i=0;
             * int colCount=dt.Columns.Count;
             * string[] cols=new string[colCount];
             * foreach(DataColumn column in dt.Columns)
             * {
             *  cols[i] = column.ColumnName;
             *  i++;
             * }
             * DataTable dt2 = dt.DefaultView.ToTable(true, cols);
             */

            DataSet   ds  = new DataSet();
            DataTable dt1 = new DataTable("recordCount");;

            dt1.Columns.Add(new DataColumn("recordCount", typeof(System.Int32)));
            DataRow dr = dt1.NewRow();

            dr["recordCount"] = sp.recordCount;
            dt1.Rows.Add(dr);

            ds.Tables.Add(dt1);
            ds.Tables.Add(dt);;

            return(ds);
        }
Пример #3
0
        public static string[] GetRelatedKeywords(string keyword)
        {
            string[]     correlateKeywords = new string[] { };
            SearchEngine se = SearchEngineClient.GetSearchEngineObject();

            string[] okKeywords = se.TestKeyword(keyword, ref correlateKeywords);

            if (correlateKeywords.Length > 0)
            {
                return(correlateKeywords);
            }
            else
            {
                return(okKeywords);
            }
        }
Пример #4
0
        public static DataSet Search(int pageSize, int pageIndex, out int pageCount, string keyword, DateTime beg, DateTime end)
        {
            SearchEngine.SearchParameter sp = new SearchEngine.SearchParameter();
            SearchEngine se = SearchEngineClient.GetSearchEngineObject();

            sp.keywords            = keyword;
            sp.pageSize            = pageSize;
            sp.pageIndex           = pageIndex;
            sp.highSearchParameter = "VS:2"; //validateStatus=2 也就是审核过的

            if (sp.recordCount % sp.pageSize == 0)
            {
                pageCount = sp.recordCount / pageSize;
            }
            else
            {
                pageCount = sp.recordCount / pageSize + 1;
            }


            DataTable dt = se.Search(ref sp);

            DataSet   ds  = new DataSet();
            DataTable dt1 = new DataTable();

            dt1.Columns.Add(new DataColumn("recordCount", typeof(System.Int32)));
            DataRow dr = dt1.NewRow();

            dr["recordCount"] = sp.recordCount;
            dt1.Rows.Add(dr);

            ds.Tables.Add(dt1);
            ds.Tables.Add(dt);

            return(ds);
        }