博客园 - rains
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=84458
2017-09-22T02:45:39Z
rains
https://www.cnblogs.com/waters/
feed.cnblogs.com
https://www.cnblogs.com/waters/p/7573695.html
ddd - rains
该文被密码保护。
2017-09-22T02:46:00Z
2017-09-22T02:46:00Z
rains
https://www.cnblogs.com/waters/
该文被密码保护。
https://www.cnblogs.com/waters/p/3844099.html
ActionFilterAttribute之HtmlFilter,压缩HTML代码 - rains
当开启这个过滤器后,最终生成的HTML代码将会被压缩一下,在流量很大的网站中,能减少带宽成本就减少一点,何乐而不为?[csharp]view plaincopyusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSyst...
2014-07-15T01:53:00Z
2014-07-15T01:53:00Z
rains
https://www.cnblogs.com/waters/
【摘要】当开启这个过滤器后,最终生成的HTML代码将会被压缩一下,在流量很大的网站中,能减少带宽成本就减少一点,何乐而不为?[csharp]view plaincopyusingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSyst... <a href="https://www.cnblogs.com/waters/p/3844099.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/p/3438004.html
MongoDB C#驱动中Query几个方法 - rains
Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.And(Query.EQ("name", "a"), Query.EQ("title", "t"));//同时满足多个条件 Query.EQ("name", "a");//等于 Query.Exists("type", true);//判断键值是否存在 Query.GT("value"
2013-11-22T09:29:00Z
2013-11-22T09:29:00Z
rains
https://www.cnblogs.com/waters/
【摘要】Query.All("name", "a", "b");//通过多个元素来匹配数组 Query.And(Query.EQ("name", "a"), Query.EQ("title", "t"));//同时满足多个条件 Query.EQ("name", "a");//等于 Query.Exists("type", true);//判断键值是否存在 Query.GT("value" <a href="https://www.cnblogs.com/waters/p/3438004.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/p/3358713.html
无需路由端口映射 花生壳6.5工程版发布 - rains
众所周知,局域网具有强大的局限性。由于局域网一般用于企业内部,为了防止内部信息的泄露,企业通常会采用防火墙、入侵检测系统等,将内外网进行隔离。这样一来,当企业人员出差在外想要通过外网对内网的工作环境进行访问时,此举无疑大大增加了难度,也降低了工作效率。 此前,用户可以通过使用花生壳动态域名的端口映射功能,在没有固定公网IP的情况下,借助花生壳服务将动态公网IP和域名进行实时绑定,通过已激活花生壳服务的域名从外网访问内网服务。 而此次花生壳发布的6.5工程版,则是进一步简化了用户的设置。新增花生壳映射功能,可以直接利用它来取代路由器端口映射的操作,只要输入内网的IP和端口号,就能实现在外网轻..
2013-10-09T02:58:00Z
2013-10-09T02:58:00Z
rains
https://www.cnblogs.com/waters/
【摘要】众所周知,局域网具有强大的局限性。由于局域网一般用于企业内部,为了防止内部信息的泄露,企业通常会采用防火墙、入侵检测系统等,将内外网进行隔离。这样一来,当企业人员出差在外想要通过外网对内网的工作环境进行访问时,此举无疑大大增加了难度,也降低了工作效率。 此前,用户可以通过使用花生壳动态域名的端口映射功能,在没有固定公网IP的情况下,借助花生壳服务将动态公网IP和域名进行实时绑定,通过已激活花生壳服务的域名从外网访问内网服务。 而此次花生壳发布的6.5工程版,则是进一步简化了用户的设置。新增花生壳映射功能,可以直接利用它来取代路由器端口映射的操作,只要输入内网的IP和端口号,就能实现在外网轻.. <a href="https://www.cnblogs.com/waters/p/3358713.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/p/3209963.html
如何让搜索引擎抓取AJAX内容? - rains
越来越多的网站,开始采用"单页面结构"(Single-page application)。 整个网站只有一张网页,采用Ajax技术,根据用户的输入,加载不同的内容。 这种做法的好处是用户体验好、节省流量,缺点是AJAX内容无法被搜索引擎抓取。举例来说,你有一个网站。 http://example.com 用户通过井号结构的URL,看到不同的内容。 http://example.com#1 http://example.com#2 http://example.com#3 但是,搜索引擎只抓取example.com,不会理会井号,因此也就无法索引内容。 为了解决这个问题,Go
2013-07-24T01:52:00Z
2013-07-24T01:52:00Z
rains
https://www.cnblogs.com/waters/
【摘要】越来越多的网站,开始采用"单页面结构"(Single-page application)。 整个网站只有一张网页,采用Ajax技术,根据用户的输入,加载不同的内容。 这种做法的好处是用户体验好、节省流量,缺点是AJAX内容无法被搜索引擎抓取。举例来说,你有一个网站。 http://example.com 用户通过井号结构的URL,看到不同的内容。 http://example.com#1 http://example.com#2 http://example.com#3 但是,搜索引擎只抓取example.com,不会理会井号,因此也就无法索引内容。 为了解决这个问题,Go <a href="https://www.cnblogs.com/waters/p/3209963.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/p/3192951.html
总结:项目前期如何做成本核算 - rains
一、前言 做为一名程序员,你是否为自己或是为公司做过项目前期的工作量评估?接手项目后应该怎样应对?此篇文章不是ibm和华为的方法论,没有严格的、标准的流程和输入、输出,只不过是些经验总结,其中某些步骤视项目大小而定。 此文意在与大家分享,同时也希望广大的博友提出宝贵的改进意见。二、目录1.项目前期输入2.第一步---了解项目背景3.第二步---需求细化4.第三步---根据需求做初步总体架构及技术架构5.第四步---WBS分解6.第五步---人员组织架构分析7.项目前期输出1.项目前期输入该文章以一个简单的办公系统为例,由于办公系统的业务各不相同,我随便在网上找了一个做为示例(共3个模块)原..
2013-07-16T03:16:00Z
2013-07-16T03:16:00Z
rains
https://www.cnblogs.com/waters/
【摘要】一、前言 做为一名程序员,你是否为自己或是为公司做过项目前期的工作量评估?接手项目后应该怎样应对?此篇文章不是ibm和华为的方法论,没有严格的、标准的流程和输入、输出,只不过是些经验总结,其中某些步骤视项目大小而定。 此文意在与大家分享,同时也希望广大的博友提出宝贵的改进意见。二、目录1.项目前期输入2.第一步---了解项目背景3.第二步---需求细化4.第三步---根据需求做初步总体架构及技术架构5.第四步---WBS分解6.第五步---人员组织架构分析7.项目前期输出1.项目前期输入该文章以一个简单的办公系统为例,由于办公系统的业务各不相同,我随便在网上找了一个做为示例(共3个模块)原.. <a href="https://www.cnblogs.com/waters/p/3192951.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/p/3189094.html
小谈软件项目管理--软件项目经理 - rains
最近一直在学习项目管理方面的书籍,初略阅读了《PMBOK2008中文版》及博客园中JimmyZhang的FromEmployeeToManager,感触良多。看这些管理书籍很乏味,加之没有太多的项目管理经验,基本上是处于看完就忘记的程度。张子阳先生提到的一句话很是不错,如果看一本书籍或者学习一套东西,能达到教授别人的程度,那才是你自己的东西。所以用心来写点东西记录下自己的感悟也算是一种提高吧。一 、你不能不懂的这张表,具体的不用解释:启动规划执行监控收尾项目整合管理4.1制定项目章程4.2制定项目管理计划4.3指导与管理项目执行4.4监控项目工作4.5实施整体变更控制4.6结束项目或阶段项..
2013-07-14T01:53:00Z
2013-07-14T01:53:00Z
rains
https://www.cnblogs.com/waters/
【摘要】最近一直在学习项目管理方面的书籍,初略阅读了《PMBOK2008中文版》及博客园中JimmyZhang的FromEmployeeToManager,感触良多。看这些管理书籍很乏味,加之没有太多的项目管理经验,基本上是处于看完就忘记的程度。张子阳先生提到的一句话很是不错,如果看一本书籍或者学习一套东西,能达到教授别人的程度,那才是你自己的东西。所以用心来写点东西记录下自己的感悟也算是一种提高吧。一 、你不能不懂的这张表,具体的不用解释:启动规划执行监控收尾项目整合管理4.1制定项目章程4.2制定项目管理计划4.3指导与管理项目执行4.4监控项目工作4.5实施整体变更控制4.6结束项目或阶段项.. <a href="https://www.cnblogs.com/waters/p/3189094.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2013/03/20/2970446.html
调用腾讯QQ天气预报的JS代码 - rains
一直在用腾讯的天气预报,原本都挺好的。可是腾讯视乎发现了有外链情况。又是对其IP地址库(http://fw.qq.com:80/ipaddress)加了防盗链,又是升级了脚本代码。导致我原来发的脚本无法正常显示天气。所以,最近抽空修改其代码,使其可以具备自动识别地址的功能,也可以手动指定城市,当然,最总要的是可以自定义显示效果。简化版(不自动识别用户所在地)测试效果:北京 -4℃~4℃ 多云,有轻度雾霾代码如下:<divid="wealth">&nbsp;</div><scripttype="text/javascript&q
2013-03-20T00:14:00Z
2013-03-20T00:14:00Z
rains
https://www.cnblogs.com/waters/
【摘要】一直在用腾讯的天气预报,原本都挺好的。可是腾讯视乎发现了有外链情况。又是对其IP地址库(http://fw.qq.com:80/ipaddress)加了防盗链,又是升级了脚本代码。导致我原来发的脚本无法正常显示天气。所以,最近抽空修改其代码,使其可以具备自动识别地址的功能,也可以手动指定城市,当然,最总要的是可以自定义显示效果。简化版(不自动识别用户所在地)测试效果:北京 -4℃~4℃ 多云,有轻度雾霾代码如下:<divid="wealth">&nbsp;</div><scripttype="text/javascript&q <a href="https://www.cnblogs.com/waters/archive/2013/03/20/2970446.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2013/01/21/2869398.html
彻底解决Forms验证角色(roles)问题 - rains
这个问题是我在做项目的时候遇到的,因为以前都是用seesion来处理类似的问题,但是有朋友说用Forms可以减少很多代码,由于技术有限,研究了很久,工夫不负有心人,在csdn多位大大的帮助下,特别是[only_endure]大人的细心+耐心的回答才得以有今天的文章,真是感动啊~闲话就说到此为止,我们知道windows自带的有四种认证方式,是不是四种呢?去baidu下,我们今天只讲关于Form的验证问题;web.config配置文件先这样写<authentication mode="Forms"> <forms name=".AUHENAPSX&q
2013-01-21T03:01:00Z
2013-01-21T03:01:00Z
rains
https://www.cnblogs.com/waters/
【摘要】这个问题是我在做项目的时候遇到的,因为以前都是用seesion来处理类似的问题,但是有朋友说用Forms可以减少很多代码,由于技术有限,研究了很久,工夫不负有心人,在csdn多位大大的帮助下,特别是[only_endure]大人的细心+耐心的回答才得以有今天的文章,真是感动啊~闲话就说到此为止,我们知道windows自带的有四种认证方式,是不是四种呢?去baidu下,我们今天只讲关于Form的验证问题;web.config配置文件先这样写<authentication mode="Forms"> <forms name=".AUHENAPSX&q <a href="https://www.cnblogs.com/waters/archive/2013/01/21/2869398.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2012/12/26/2834053.html
Navicat Premium不能连接mysql - rains
Open up the mysql command line client.type in the following lines PERFECT, if you mess up, you have to start all over by restarting the command line client.mysql>use mysqlmysql>select user, host, password from user;# Now you should see that u have 3 entries+-----------------------------+| user
2012-12-26T06:48:00Z
2012-12-26T06:48:00Z
rains
https://www.cnblogs.com/waters/
【摘要】Open up the mysql command line client.type in the following lines PERFECT, if you mess up, you have to start all over by restarting the command line client.mysql>use mysqlmysql>select user, host, password from user;# Now you should see that u have 3 entries+-----------------------------+| user <a href="https://www.cnblogs.com/waters/archive/2012/12/26/2834053.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2012/11/09/2762817.html
完美一键排版 - rains
function typeset()//文字排版正则替换 { var str = document.getElementById("content").value; //修正不规则标点 str = str.replace(/,/gi, ","); str = str.replace(/\.\r/gi, "。\r"); str = str.replace(/./gi, "。"); str = str.replace(/;/gi, ";"); str = str.replace(/\"/g
2012-11-09T08:09:00Z
2012-11-09T08:09:00Z
rains
https://www.cnblogs.com/waters/
【摘要】function typeset()//文字排版正则替换 { var str = document.getElementById("content").value; //修正不规则标点 str = str.replace(/,/gi, ","); str = str.replace(/\.\r/gi, "。\r"); str = str.replace(/./gi, "。"); str = str.replace(/;/gi, ";"); str = str.replace(/\"/g <a href="https://www.cnblogs.com/waters/archive/2012/11/09/2762817.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2012/07/24/2607290.html
做了技术这些年,自己总结的架构 - rains
我自己总结的有的在博客园中借鉴不少,最后自己又整改了些东东。望各位前辈指点一二。上面这个效果图就是我搭建的基础架构,Common这个顾名思义就是帮助类。这里不在进行过多的讲解。AbstractFactory这个类库是抽象该工厂,我想好多人都能猜到他是反射出下面的OrcalDAL和SQLDAL的,重要代码如下。 public static object CreateDAL(string assemblyPath, string objType, string type) { Type typ =typeof(T); o...
2012-07-24T14:01:00Z
2012-07-24T14:01:00Z
rains
https://www.cnblogs.com/waters/
【摘要】我自己总结的有的在博客园中借鉴不少,最后自己又整改了些东东。望各位前辈指点一二。上面这个效果图就是我搭建的基础架构,Common这个顾名思义就是帮助类。这里不在进行过多的讲解。AbstractFactory这个类库是抽象该工厂,我想好多人都能猜到他是反射出下面的OrcalDAL和SQLDAL的,重要代码如下。 public static object CreateDAL(string assemblyPath, string objType, string type) { Type typ =typeof(T); o... <a href="https://www.cnblogs.com/waters/archive/2012/07/24/2607290.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2012/04/22/2461100.html
很早以前写的lucenet.net搜索 - rains
//创建索引库string indexPath = Server.MapPath("~/temp");//索引库(索引→Index) //开始创建索引; //开始创建索引,目录:" + indexPath; FSDirectory directory = FSDirectory.Open(new DirectoryInfo(indexPath), new NativeFSLockFactory()); //FSDirectory存储文件的索引 bool isUpdate = IndexReader.Inde...
2012-04-21T23:17:00Z
2012-04-21T23:17:00Z
rains
https://www.cnblogs.com/waters/
【摘要】//创建索引库string indexPath = Server.MapPath("~/temp");//索引库(索引→Index) //开始创建索引; //开始创建索引,目录:" + indexPath; FSDirectory directory = FSDirectory.Open(new DirectoryInfo(indexPath), new NativeFSLockFactory()); //FSDirectory存储文件的索引 bool isUpdate = IndexReader.Inde... <a href="https://www.cnblogs.com/waters/archive/2012/04/22/2461100.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2012/03/23/2413912.html
js图片延迟加载 - rains
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb23
2012-03-23T08:53:00Z
2012-03-23T08:53:00Z
rains
https://www.cnblogs.com/waters/
【摘要】<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb23 <a href="https://www.cnblogs.com/waters/archive/2012/03/23/2413912.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2012/03/19/2406362.html
js中Event各个属性的学习 - rains
上面是页面中的html标签。$(function () { $("#divMove").mousemove(function (event) { var ev = event || window.event; //z-index属性目前只有在position:relative、position:absolute和position:fixed才有用 //子类相对于父类的X,Y坐标 var mxLeft1 = ev.offsetX || ev.layerX; //当父类添加有 position: relative那就是相对父类的x坐标 ,ev.layerX支持ff下的。 var
2012-03-19T09:04:00Z
2012-03-19T09:04:00Z
rains
https://www.cnblogs.com/waters/
【摘要】上面是页面中的html标签。$(function () { $("#divMove").mousemove(function (event) { var ev = event || window.event; //z-index属性目前只有在position:relative、position:absolute和position:fixed才有用 //子类相对于父类的X,Y坐标 var mxLeft1 = ev.offsetX || ev.layerX; //当父类添加有 position: relative那就是相对父类的x坐标 ,ev.layerX支持ff下的。 var <a href="https://www.cnblogs.com/waters/archive/2012/03/19/2406362.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2012/03/12/2391530.html
Javascript获取各种浏览器可见窗口大小 - rains
网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域高: document.body.offsetHeight (包括边线的高)网页正文全文宽: document.body.scrollWidth网页正文全文高: document.body.scrollHeight网页被卷去的高: document.body.scrollTop网页被卷去的左: document.body.scrollLeft网页正文部分上: w
2012-03-12T03:41:00Z
2012-03-12T03:41:00Z
rains
https://www.cnblogs.com/waters/
【摘要】网页可见区域宽: document.body.clientWidth网页可见区域高: document.body.clientHeight网页可见区域宽: document.body.offsetWidth (包括边线的宽)网页可见区域高: document.body.offsetHeight (包括边线的高)网页正文全文宽: document.body.scrollWidth网页正文全文高: document.body.scrollHeight网页被卷去的高: document.body.scrollTop网页被卷去的左: document.body.scrollLeft网页正文部分上: w <a href="https://www.cnblogs.com/waters/archive/2012/03/12/2391530.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2012/03/03/URLRewriter.html
URLRewriter修改使你更容易理解重写原理 - rains
在上一篇,我感觉有的地方不是太好理解,所以我在这里修改了一下,更通俗易懂了,为了让更容易理解。web.config中configSections中添加这个这个节点,根据这个节点 ,你可以看出创建自定义的节点是什么样子的,<sectionGroup name="RewriterConfig"> <section name="Rule" type="WebApplication1.RewriterConfigSerializerSectionHandler,WebApplication1"/> </secti
2012-03-03T01:38:00Z
2012-03-03T01:38:00Z
rains
https://www.cnblogs.com/waters/
【摘要】在上一篇,我感觉有的地方不是太好理解,所以我在这里修改了一下,更通俗易懂了,为了让更容易理解。web.config中configSections中添加这个这个节点,根据这个节点 ,你可以看出创建自定义的节点是什么样子的,<sectionGroup name="RewriterConfig"> <section name="Rule" type="WebApplication1.RewriterConfigSerializerSectionHandler,WebApplication1"/> </secti <a href="https://www.cnblogs.com/waters/archive/2012/03/03/URLRewriter.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2012/03/02/2377396.html
URLRewriter源码分析 - rains
public class RewriterConfigSerializerSectionHandler : IConfigurationSectionHandler{ #region IConfigurationSectionHandler 成员 XmlSerializer他是可以把xml反序列化成对象,也可以把对象序列化一个xml,但是要求是这两个里面属性都带一直(元素名和默认命名空间) 大概是这个意思,要是还不明白的话,去csdn上查询吧, http://msdn.microsoft.com/zh-cn/library/system.xml.seria...
2012-03-02T08:31:00Z
2012-03-02T08:31:00Z
rains
https://www.cnblogs.com/waters/
【摘要】public class RewriterConfigSerializerSectionHandler : IConfigurationSectionHandler{ #region IConfigurationSectionHandler 成员 XmlSerializer他是可以把xml反序列化成对象,也可以把对象序列化一个xml,但是要求是这两个里面属性都带一直(元素名和默认命名空间) 大概是这个意思,要是还不明白的话,去csdn上查询吧, http://msdn.microsoft.com/zh-cn/library/system.xml.seria... <a href="https://www.cnblogs.com/waters/archive/2012/03/02/2377396.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2011/09/06/2168666.html
学习Lucene.net心得 - rains
(发音为['lusen]),我经常就读鹿神,是头活蹦乱跳的好鹿,研究它吧,保证感觉它很神!Lucene是一个非常优秀的开源的全文搜索引擎,我们可以在它的上面开发出各种全文搜索的应用来。Lucene在国外有很高的知名度,现在已经是Apache的顶级项目。二、倒排索引原理简述 Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。具体解释算法理论就不讲了,直接用例子来说明吧,如果你认真仔细的读懂例子,真正领会了其中的思想,你肯定就明白了Lucene索引的基本原理!记住:理解!把例子用你自己的语言表述出来,就是翻译成你自己的东西,以后你想自己写,也就是换成计算机语言再
2011-09-06T05:50:00Z
2011-09-06T05:50:00Z
rains
https://www.cnblogs.com/waters/
【摘要】(发音为['lusen]),我经常就读鹿神,是头活蹦乱跳的好鹿,研究它吧,保证感觉它很神!Lucene是一个非常优秀的开源的全文搜索引擎,我们可以在它的上面开发出各种全文搜索的应用来。Lucene在国外有很高的知名度,现在已经是Apache的顶级项目。二、倒排索引原理简述 Lucene是一个高性能的java全文检索工具包,它使用的是倒排文件索引结构。具体解释算法理论就不讲了,直接用例子来说明吧,如果你认真仔细的读懂例子,真正领会了其中的思想,你肯定就明白了Lucene索引的基本原理!记住:理解!把例子用你自己的语言表述出来,就是翻译成你自己的东西,以后你想自己写,也就是换成计算机语言再 <a href="https://www.cnblogs.com/waters/archive/2011/09/06/2168666.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/waters/archive/2011/09/06/2168658.html
lucene的本质 - rains
lucene能做什么要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,告诉你你要搜索的关键词出现在哪里。知道了这个本质,你就可以发挥想象做任何符合这个条件的事情了。你可以把站内新闻都索引了,做个资料库;你可以把一个数据库表的若干个字段索引起来,那就不用再担心因为“%like%”而锁表了;你也可以写个自己的搜索引擎……1.3 你该不该选择lucene 下面给出一些测试数据,如果你觉得可以接受,那么可以选择。测试一:250万记录,300M左右文本,生成索引380M左右,800线程下平均处理时间300ms。测试
2011-09-06T05:45:00Z
2011-09-06T05:45:00Z
rains
https://www.cnblogs.com/waters/
【摘要】lucene能做什么要回答这个问题,先要了解lucene的本质。实际上lucene的功能很单一,说到底,就是你给它若干个字符串,然后它为你提供一个全文搜索服务,告诉你你要搜索的关键词出现在哪里。知道了这个本质,你就可以发挥想象做任何符合这个条件的事情了。你可以把站内新闻都索引了,做个资料库;你可以把一个数据库表的若干个字段索引起来,那就不用再担心因为“%like%”而锁表了;你也可以写个自己的搜索引擎……1.3 你该不该选择lucene 下面给出一些测试数据,如果你觉得可以接受,那么可以选择。测试一:250万记录,300M左右文本,生成索引380M左右,800线程下平均处理时间300ms。测试 <a href="https://www.cnblogs.com/waters/archive/2011/09/06/2168658.html" target="_blank">阅读全文</a>