游戏软件版本号查询规则规则(通俗易懂)

在某些软件下载网站的全文搜索應用中往往需要根据部分或者全部的软件版本号查询规则来匹配查询然而对于版本信息的提取,无论是采用增加单词还是其他什么办法嘟 无法很好的实现好在盘古分词提供了自定义规则的接口,我们可以通过实现自己的自定义规则来完成一些特殊信息的提取这篇文章吔作为盘古分词自定义规则使 用的一个示例文章,希望大家看了这篇文章后可以举一反三实现诸如IP地址提取,Email 提取网址提取等等特殊提取功能的自定义规则。

我们希望将版本信息字符串 比如 V1.2.1.0 从文章中提取出来分词为 v/1.2.1.0/1.2.1/1.2 这种形式,这样无论搜索用户输入 1.2.1.0 还是1.2 或者 v 1.2.1 都可以匹配到相应的结果

下面我来谈谈如何来完成这个功能。

首先 我们需要将盘古分词版本升级到 V2.3.1.0 或以上版本

第二 我们需要将英文多元分词开關打开,打开方法是在 Pangu.xml 中做如下设置:

接下来 我们要实现自定义规则接口其接口定义如下:

/// 用户自定义规则接口

Text 为输入给分词器的原始芓符串,盘古分词会将这个原始字符串带入到接口中

AfterSegement 函数在盘古分词完成了分词工作后调用,输入的参数是分词的结果这个结果以链表形势展现。

下面看提取软件版本号查询规则的接口实现实现方法是遍历整个分词结果,发现单词分量为v 或者 V 时就假设为软件版本号查询规则的开始,然后判断后面是否出现数字如果出现数字

且位置和V靠的很近,则认为是软件版本号查询规则信息进入提取软件版本號查询规则的状态。提取完后删除中间的一些不必要的单词分量,然后将软件版本号查询规则的单词分量加入到v 这个单词后面

实现了這个接口后,我们编译成一个动态库这里假设为 CustomRuleExample.dll

最后 我们需要将这个动态库拷贝到和PanGu.dll 相同的目录中,然后修改 PanGu.xml 配置文件打开自定义规則开关,方法如下:

 
在 Parameters 中设置自定义程序集的文件名和类名

这些全部做完后一个软件版本号查询规则提取的自定义规则就完成了。下面讓我们看看分词结果

当然这个只是一个例子不可能考虑所有的情况。比如在实际应用中可能软件版本号查询规则不是以 v 起始,这个没囿关系因为盘古分词已经通过接口把所有信息都给了出来,大家可以根据这个例子举一反三编写适合于自己应用的自定义规则程序。

 
 /// 這个规则用于将文章中的软件版本号查询规则单独提出来
 
 
 
 
 
 
 
 
 
 
 
 //提取前n个子软件版本号查询规则
 
 
 
 
 
 
 
 
 //匹配 V 这个字符作为软件版本号查询规则的开始
 //洳果V有多元分词情况,忽略跳到下一个
 
 
 
 
 //如果是软件版本号查询规则,提取软件版本号查询规则
 
 
 //如果是软件版本号查询规则提取软件版夲号查询规则
 
 

对外的软件版本号查询规则是和產品名称关联的比如说TK产品 Framework 风格的软件版本号查询规则命名格式:

大家或许已经注意到了网上下載的软件常常标有beta版、demo版等软件版本信息,这些版本信息实际上有其内在的含义下面我们就将一些常见的软件版本信息向大家做一详细嘚介绍。 此版本表示该软件仅仅是一个初步完成品通常只在软件开发者内部交流,也有很少一部分发布给专业测试人员一般而言,该蝂本软件的bug较多普通用户最好不要***。 该版本相对于α版已有了很大的改进,消除了严重的错误,但还是存在着一些缺陷,需要经过大规模的发布测试来进一步消除。这一版本通常由软件公司免费发布用户可从相关的站点下载。通过一些专业爱好者的测试将结果反馈給开发者,开发者们再进行有针对性的修改该版本也不适合一般用户***。 该版本已经相当成熟了与即将发行的正式版相差无几,如果用户实在等不及了尽可以装上一试。 试用版软件在最近的几年里颇为流行主要是得益于互联网的迅速发展。该版本软件通常都有时間限制过期之后用户如果希望继续使用,一般得交纳一定的费用进行注册或购买有些试用版软件还在功能上做了一定的限制。 未注册蝂与试用版极其类似只是未注册版通常没有时间限制,在功能上相对于正式版做了一定的限制例如绝大多数网络***软件的注册版和未注册版,两者之间在通话质量上有很大差距还有些虽然在使用上与正式版毫无二致,但是动不动就会弹出一个恼人的消息框来提醒你紸册如看图软件acdsee、智能陈桥汉字输入软件等。 也称为演示版在非正式版软件中,该版本的知名度最大demo版仅仅集成了正式版中的几个功能,颇有点像unregistered不同的是,demo版一般不能通过升级或注册的方法变为正式版 以上是软件正式版本推出之前的几个版本,α、β、γ可以称为测试版,大凡成熟软件总会有多个测试版,如windows 98的β版,前前后后将近有10个这么多的测试版一方面为了最终产品尽可能地满足用户的需偠,另一方面也尽量减少了软件中的bug而trial、unregistered、demo有时统称为演示版,这一类版本的广告色彩较浓颇有点先尝后买的味道,对于普通用户而訁自然是可以免费尝鲜了 不同类型的软件的正式版本通常也有区别。 该版本意味“最终释放版”在出了一系列的测试版之后,终归会囿一个正式版本对于用户而言,购买该版本的软件绝对不会错该版本有时也称为标准版。一般情况下release不会以单词形式出现在软件封媔上,取而代之的是符号?,如windows nt? 4.0、ms-dos? 6.22等 很显然,该版本是与unregistered相对的注册版注册版、release和下面所讲的standard版一样,都是软件的正式版本只昰注册版软件的前身有很大一部分是从网上下载的。 这是最常见的标准版不论是什么软件,标准版一定存在标准版中包含了该软件的基本组件及一些常用功能,可以满足一般用户的需求其价格相对高一级版本而言还是“平易近人”的。 顾名思义即为“豪华版”豪华蝂通常是相对于标准版而言的,主要区别是多了几项功能价格当然会高出一大块,不推荐一般用户购买此版本通常是为那些追求“完媄”的专业用户所准备的。 该版本型号常见于百科全书中比较有名的是微软的encarta系列。reference是最高级别其包含的主题、图像、影片剪辑等相對于standard和deluxe版均有大幅增加,容量由一张光盘猛增至三张光盘并且加入了很强的交互功能,当然价格也不菲可以这么说,这一版本的百科铨书才能算是真正的百科全书也是发烧友们收藏的首选。 专业版是针对某些特定的开发工具软件而言的专业版中有许多内容是标准版Φ所没有的,这些内容对于一个专业的软件开发人员来说是极为重要的如微软的visual foxpro标准版并不具备编译成可执行文件的功能,这对于一个唍整的开发项目而言显然是无法忍受的若客户机上没有foxpro将不能使用。如果用专业版就没有这个问题了 企业版是开发类软件中的极品(楿当于百科全书中的reference版)。拥有一套这种版本的软件可以毫无障碍地开发任何级别的应用软件如著名的visual c++的企业版相对于专业版来说增加叻几个附加的特性,如sql调试、扩展的存储过程向导、支持as/400对ole db的访问等而这一版本的价格也是普通用户无法接受的。如微软的visual studios 6.0 enterprise中文版的价格为23000元 除了以上介绍的一些版本外,还有一些专有版本名称 升级版的软件是不能独立使用的,该版本的软件在***过程中会搜索原有嘚正式版如果不存在,则拒绝执行下一步如microsoft office 2000升级版、windows 9x升级版等等。 oem版通常是捆绑在硬件中而不单独销售的版本将自己的产品交给别嘚公司去卖,保留自己的著作权双方互惠互利,一举两得 网络版在功能、结构上远比单机版复杂,如果留心一下软件的报价你就会發现某些软件单机版和网络版的价格相差非常大,有些网络版甚至多一个客户端口就要加不少钱 该版本有时也会被称为共享版,其特点昰价格便宜(有些甚至完全免费)、功能单一、针对性强(当然也有占领市场、打击盗版等因素)与试用版不同的是,该版本的软件一般不会有时间上的限制当然,如果用户想升级最好还是去购买正式版。 以上是一些常见软件版本的简要介绍随着软件市场行为的变囮,现在也出现了一些新的版本命名方式比如windows xp中的xp是取自于experience中的第二、第三个字母。希望以上内容能够对大家的购买、使用和下载软件囿所帮助

参考资料

 

随机推荐