04 2012 档案

摘要:在数据库中快速搜索数据,使用索引可以提高搜索速度,然而索引一般是建立在数字型或长度比较短的文本型字段上的,比如说编号、姓名等字段,如果建立在长度比较长的文本型字段上,更新索引将会花销很多的时间。如在文章内容字段里用lik e 语句搜索一个关键字,当数据表里的内容很多时,这个时间可能会让人难以忍受。在SQL Server 中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索的速度,在对大量的文本数据进行查询时,全文索引可以大大地提高查询的性能,如对于几百万条记录的文本数据进行lik e 查询可能要花几分钟才能返回结果,而使用全文索引则只要几秒钟甚至更少的时间就可以返回结果了。在本章里,将 阅读全文
posted @ 2012-04-29 18:55 lijingpeng 阅读(348) 评论(0) 推荐(0)
摘要:C#源码string SqlConString = "Data Source=(local);Initial Catalog=FTPData;Integrated Security=True";SqlConnection con = new SqlConnection(SqlConString);con.Open();SqlCommand cmd = new SqlCommand(CreateSQLQueryString(), con);SqlDataReader dr = cmd.ExecuteReader();RepeaterResult.DataSource = dr 阅读全文
posted @ 2012-04-29 18:31 lijingpeng 阅读(1395) 评论(0) 推荐(0)
摘要:str=Regex.Replace(str,LastResult[i],"<font color=Red>" + LastResult[i] + "</font>",RegexOptions.IgnoreCase); 阅读全文
posted @ 2012-04-29 18:23 lijingpeng 阅读(285) 评论(0) 推荐(0)
摘要:在实现中文分词的过程中,利用ASP.NET网站展示的时候会涉及到一个问题就是: 做网页端的时候,需要将分词词典预先载入内存,然后对用户的每一次查询都先进行分词处理,然后再提交数据库查询,这样能搜到更多的数据。 向内存中载入词典大约需要2秒钟的时间,在服务器一直运行的时间只需载入一次,public void LoadWordandHash()函数负责载入,肯定不能是每次查询都得载入。另外基于ASP.NET的网站的web服务器是IIS7。解决方法:利用Global.asax文件void Application_Start(object sender, EventArgs e) { ... 阅读全文
posted @ 2012-04-27 15:34 lijingpeng 阅读(396) 评论(0) 推荐(0)
摘要:在global.asax文件中: void Application_Start(object sender, EventArgs e) { //在应用程序启动时运行的代码 Application["StartTime"]=DateTime.Now; }在其他aspx文件中写入 protected void Page_Load(object sender, EventArgs e) { Response.Write("程序运行时间:" + Application["StartTime"]); Response.Wr... 阅读全文
posted @ 2012-04-27 15:00 lijingpeng 阅读(211) 评论(0) 推荐(0)
摘要:解决方法:选择应用程序池在您所用的应用程序池上面选择“高级设置”将标示中设置成:LocalSystem 阅读全文
posted @ 2012-04-27 10:56 lijingpeng 阅读(1164) 评论(0) 推荐(0)
摘要:解决方法:找到"ISAP"和"CGI"限制设置为:允许 阅读全文
posted @ 2012-04-27 10:51 lijingpeng 阅读(306) 评论(0) 推荐(0)
摘要:解决办法:设置应用程序池 阅读全文
posted @ 2012-04-27 10:48 lijingpeng 阅读(211) 评论(0) 推荐(0)
摘要:在中文分词的过程中需要将英文,数字,汉字分离,数字和英文就不用分割了,主要是将分离出来的汉字进行分词,下面的算法实现利用正则表达式分离汉字、英文、数字://获取中文string chRegS = @"[\u4e00-\u9fa5]+";Regex chRegR = new Regex(chRegS);Match chMacth = chRegR.Match(str);while(chMacth.Success){ CHresult.Add(chMacth.ToString()); chMacth = chMacth.NextMatch();}//英文string enReg 阅读全文
posted @ 2012-04-23 19:38 lijingpeng 阅读(5067) 评论(0) 推荐(0)
摘要:http://www.jb51.net/tools/zhengze.html微软的正则表达式教程System.Text.RegularExpressions.Regex类(MSDN)专业的正则表达式教学网站(英文)关于.Net下的平衡组的详细讨论(英文)Mastering Regular Expressions (Second Edition)下面摘要一些平时常用的:表1.常用的元字符代码说明.匹配除换行符以外的任意字符\w匹配字母或数字或下划线或汉字\s匹配任意的空白符\d匹配数字\b匹配单词的开始或结束^匹配字符串的开始$匹配字符串的结束表2.常用的限定符代码/语法说明*重复零次或更多次+ 阅读全文
posted @ 2012-04-23 15:30 lijingpeng 阅读(254) 评论(0) 推荐(0)
摘要:这篇将稍微深入一点探讨一下正则表达式分组,在.NET中正则表达式分组是用Match类来代表的。首先先看一段代码:public void ShowStructure(){ //要匹配的字符串 string text = "1A 2B 3C 4D 5E 6F 7G 8H 9I 10J 11Q 12J 13K 14L 15M 16N ffee80 #800080"; //正则表达式 string pattern = @"((/d+)([a-z]))/s+"; //使用RegexOptions.IgnoreCase枚举值表示不区分大小写 Regex r = ne 阅读全文
posted @ 2012-04-23 15:10 lijingpeng 阅读(296) 评论(0) 推荐(0)
摘要:对于正则表达式的应用,基本上可以分为验证、提取、分割和替换。仅仅利用Regex类就可以实现验证和简单替换。利用Regex类实现验证经历2009年的备案和DNS停止解析风波之后,大部分的带有反馈性的网站和论坛都对一些敏感词进行了过滤,包含有这类敏感词的文章要么内容被替换要么被禁止发表,利用Regex类就可以实现这个功能,下面是一个例子:public void IsMatchDemo(){ string source = "刘备ABC关羽ABc张飞Abc赵云abc诸葛亮aBC孙权abC周瑜AbC鲁肃aBc曹操许攸郭嘉需晃袁绍"; Regex regex = new Regex( 阅读全文
posted @ 2012-04-23 15:01 lijingpeng 阅读(230) 评论(0) 推荐(0)
摘要:在.NET中提供了对正则表达式的支持,并且提供了相关的类,分别有:Regex、Match、Group、Capture、RegexOptions、MatchCollection、GroupCollection、CaptureCollection。它们之间的关联如下:对它们描述如下:Regex:正则表达式类,代表了一个不可变的正则表达式。Match:代表了Regex类的实例的一次匹配结果,可以通过Regex的Match()实例方法返回一个Match的实例。MatchCollection:代表了Regex类的实例的所有匹配结果,可以通过Regex的Matches()实例方法返回一个MatchColl 阅读全文
posted @ 2012-04-23 14:55 lijingpeng 阅读(367) 评论(0) 推荐(0)
摘要:在中文分词的实现过程中,词典的设计是相当重要的一步,基于整词二分或者逐字二分的分词算法使用的是比较经典的词典结构该词典结构分为三级,前两级是索引。本文解决词典存储时候的哈希表一键多值:从底层开始实现:1.首先是词典正文的设计:存储在List<string>结构中,其索引就是每个词在List<string>中的下标List<string> WordList = new List<string>();SqlConnection conn = new SqlConnection(SqlConString);conn.Open();SqlCommand 阅读全文
posted @ 2012-04-20 14:52 lijingpeng 阅读(2011) 评论(0) 推荐(0)
摘要:SQL SERVER提供了大量的WINDOWS和SQLSERVER专用的排序规则初始选择结果select * from WordDictionary下面是按照汉字拼音排序select * from WordDictionary order by word collate Chinese_PRC_CS_AS_KS_WS其中:_CI(CS) 是否区分大小写,CI不区分,CS区分_AI(AS) 是否区分重音,AI不区分,AS区分 _KI(KS) 是否区分假名类型,KI不区分,KS区分 _WI(WS) 是否区分宽度 WI不区分,WS区分 阅读全文
posted @ 2012-04-20 14:24 lijingpeng 阅读(16028) 评论(0) 推荐(1)
摘要:一. Array 1.数组的大小是固定的,不能伸缩 2.数组声明要声明元素的类型 3.要有整数的下标才能访问二. ArrayList (动态数组,容量可以随需要扩充)http://msdn.microsoft.com/zh-cn/library/system.collections.arraylist.aspx三. List (List和ArrayList类类似)http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx四.Dictionary (表示键和值的集合。Dictionary遍历输出的顺序,就是加入的顺序)http://msdn.... 阅读全文
posted @ 2012-04-19 17:49 lijingpeng 阅读(373) 评论(0) 推荐(0)
摘要:在中文分词构造分词词典的时候需要将汉字进行散列存储,其散列函数是:H(汉字编码)=(汉字编码高字节-176)*94+(汉字编码低字节-161) C#实现:Encoding GB2312 = Encoding.GetEncoding("gb2312");string t = "汉字";byte[] arr = GB2312.GetBytes(t[0].ToString());int GBindex =(arr[0]-176)*94 + arr[1] - 161;测试: 阅读全文
posted @ 2012-04-19 16:03 lijingpeng 阅读(281) 评论(0) 推荐(0)
摘要:整词二分、逐字二分的分词词典机制:这是一种广为使用的分词词典机制.其结构通常分为三级,前两级为索引1.首字散列表 词首字散列函数根据汉字的国标区位码给出。通过一次Hash运算即可直接定位汉字在首字散列表中的序号。也就是将词首字的国标码与其在首字散列表中的序号相对应。 我国的GB2312-80标注规定汉语字符的交换码由两个ASCII码构成:第一个是区码,取值从OxA1到OxF7,共87个区,第二个是位码,从OxA1到0xFE,共94位。区码为OxA1到0xAE的存储全角符号,如标点、字母等。GB2312-80汉字的编码空间是BOA1-FIFE,共有72 * 94 = 6768个码位,实有67.. 阅读全文
posted @ 2012-04-18 20:19 lijingpeng 阅读(1322) 评论(1) 推荐(2)
摘要:利用File.Create(name);创建文本文件结束后写入时会提示错误:其他进程正在访问该文件,阻止写入public string CreateTxt(string ftpname) { File.Create(name); return name; }public void WriteToTxt(string name, string datas) { FileStream fst = new FileStream(name, FileMode.Append); ... 阅读全文
posted @ 2012-04-18 08:10 lijingpeng 阅读(304) 评论(0) 推荐(0)
摘要:当向数据库中添加含有单引号的数据时会发生错误insert into tmp(name,pass)values ('UNCLE TOM'S CABIN','123')消息 102,级别 15,状态 1,第 5 行'S' 附近有语法错误。消息 105,级别 15,状态 1,第 5 行字符串 ')' 后的引号不完整。INSERT INTO info (value) VALUES('" + value + "')解决方案:利用两个单引号转义:insert into tmp(name,pass)v 阅读全文
posted @ 2012-04-17 16:32 lijingpeng 阅读(1867) 评论(0) 推荐(0)