sampler.cs

来自「用C#编写的一个款搜索engine的源代码!摘自<Visual c#200」· CS 代码 · 共 67 行

CS
67
字号
using System;
using System.IO;

namespace SECompare.Kernel
{
	/// <summary>
	/// Class Sampler is used to do query sampling.
	/// Sampler selects typical queries from sample query files, 
    /// and only the selected queries will be crawled by crawler.
	/// </summary>
	public class Sampler
	{

		/// <summary>
		/// Generate a list of queries to crawl, 
        /// by percentage sampling method from given query sample list.
		/// </summary>
		/// <param name="Percentage">a float between 0 and 1, else do no pruning.</param>
		public static void Run(float Percentage)
		{
			//For each sample files, do sampling
			String[] files = Directory.GetFiles((new Config.Config()).SampleRoot);
			for(int i=0;i<files.Length;i++)
			{
				FileInfo file = new FileInfo(files[i]);
				String[] splits = file.Name.Split(new char[]{'.'});
				String category = splits[0];
				
				//read query samples
				CrawlSample sample = new CrawlSample();
				sample.Load(category,files[i]);
				//delete some samples
				sample.Prune(Percentage);
				//Save samplinged query list
				sample.Save((new Config.Config()).SamplingedQueryRoot+"\\"+category);
			}
		}

		/// <summary>
		/// Generate a list of queries to crawl, 
        /// by percentage sampling method from given query sample list.
		/// </summary>
		/// <param name="sampleSize">an integer, 
        /// which represent the sample size after pruning.
        /// If it is larger than original size, do nothing.</param>
		public static void Run(int sampleSize)
		{
			//For each sample files, do sampling
			String[] files = Directory.GetFiles((new Config.Config()).SampleRoot);
			for(int i=0;i<files.Length;i++)
			{
				FileInfo file = new FileInfo(files[i]);
				String[] splits = file.Name.Split(new char[]{'.'});
				String category = splits[0];
				
				//read query samples
				CrawlSample sample = new CrawlSample();
				sample.Load(category,files[i]);
				//delete some samples
				sample.Prune(sampleSize);
				//Save samplinged query list
				sample.Save((new Config.Config()).SamplingedQueryRoot+"\\"+category);
			}
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?