📄 sampler.cs
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -