提起大熊猫的故乡,很多人首先想到的是卧龙,那里是人工养殖大熊猫的基地。可是你们知道吗?在四川省西北部岷山深处,有一块四万公顷的原始森林,其间坐落着唐家河大熊猫自然保护区,那里生活着60多只野生的大熊猫和众多的国家一级、二级保护动物。阿里巴巴赈灾重建小组考察发现,由于5.12地震, 唐家河道路损毁、山体严重坍塌、众多珍贵野生动植物遭到毁灭性破坏.这对当地民众的生产生活造成了严重的影响.其中,原本不愁销路的天然蜂蜜积压了4吨无法销售出去,这些可都是养蜂人辛苦劳作的结晶啊! 为帮助唐家河大熊猫自然保护区解决这一问题.我们决定团购这4吨的蜂蜜.我们团购蜂蜜的价格也很优惠哦,单价是15元/斤,和超市的蜂蜜比起来,便宜很多呢,而且是纯天然的没有经过掺杂的蜂蜜哦!
这是我们集团打算做的一点小事,有需要的可以联系我一起买!到货后我再转发给大家 顺便提示一下大家,大家在超市里看到的蜂蜜,大多像水一样,而有些天然的蜂蜜,浓得呈固体状态,我还不知道这次团购的蜂蜜会是什么样的,但是既然是纯天然的,应该不会差。 我的联系方式:msn:helloasp@hotmail.com 我的邮箱:xurenlu@126.com
经过摸索,我决定给HyperEstraier加上由Hightman写的scws支持,使之支持中文分词。 实地看了代码之后,发现Hyperestraier的结构划分并不好,这可能决定了他只能是某些Hacker的心血之作,而不适用多人协作开发,大规模推广应用。这是旁话。 既然找到分词默认是使用的estraier.c的est_break_text函数,那我的目标就是改造这个函数,现在这个函数被我改成了: scws_t seg; /* Break a sentence of text and extract words. */ void est_break_text(const char *text, CBLIST *list, int norm, int tail){ // hack by renlu.xu CBLIST *words; const unsigned char *word, *next; unsigned char *utext; char *tmp; int i, j, k, size, cc, wsiz, nsiz, tsiz; assert(text && list); if(seg==NULL) { seg=scws_new(); scws_set_charset(seg,”UTF-8″); scws_set_rule(seg,”/home/y/etc/rules.utf8.ini”); int xmode=0; scws_set_dict(seg,”/home/y/etc/dict.xdb”,(xmode & XMODE_DICT_MEM) ? SCWS_XDICT_MEM : SCWS_XDICT_XDB); if(seg->d == NULL && !(xmode & XMODE_NO_TIME)) fprintf(stderr, “WARNING: input dict file load failed. /home/y/etc/dict.xdb\n”);
} int fsize; fsize=strlen(text); scws_send_text(seg,text,fsize); scws_res_t res,cur; while ((cur = res = scws_get_result(seg))!= NULL) { while (cur != NULL) { cblistpush(list,text+cur->off,cur->len); cur = cur->next; } scws_free_result(res); } int iter_i; int wsize=0; fprintf(stderr,”\nsegmented words:\n”); for(iter_i=0;iter_i word=CB_LISTVAL2(list,iter_i,wsize); fprintf(stderr,"%s\t",word); } return ; } Ok,其中函数中最后一个for语句是为了调试,看看分词结果如何。 这里用到的scws_send_text等函数是hightman的scws中定义的,因此需要在estraier.c的文件头加上: #include “scws.h” 并修改Hyperestraier的Makefile: LIBS = -lqdbm -lz -lm -lc -lscws 然后make && make install 下面作个测试: #!/bin/sh #file:test.sh rm -rf test_db estcmd create test_db find ./ -name “1.txt” -type f |estcmd gather -cl -fm -cm test_db - estcmd search -vx -max 10 test_db ‘索引’ 根据打印的结果,中文分词已经加入到索引过程中去了!
社区全文检索引擎Hyper Estraier 学习笔记[1] 社区全文检索引擎Hyper Estraier 学习笔记[2] 社区全文检索引擎Hyper Estraier 学习笔记[3]
hyperestraier是在前文已经介绍过一的一个开源搜索引擎程序。 分词:采用N-gram,char_category等来分词,良好地支持中文等东亚文字。 分词程序在:estraier.c中 est_break_text est_break_text_perfng est_break_text_chrcat 等分法。 相关的函数有 276 static int est_char_category(int c); 277 static int est_char_category_perfng(int c); 278 static int est_char_category_chrcat(int c); 等
分词默认采用est_break_text 当创建数据库时采用 estcmd create dbname -apn 时,采用est_break_text_perfng来分词 当创建数据库时是用 estcmd create dbname -acc 时,用est_break_text_chrcat来分词 采用est_break_text来分词时,结果这样样的: 今天 天突 突然 然想 想起 起霍 霍炬 炬曾 曾告 告诉 诉过 过我 我的 的一 一个 个日 日本 本人 人开 开发 发的 的全 全文 文检 检索 索引 引擎 擎, , 于是 是找 找他 他问 问了 了, 是双字连着的分词法,这样会占用多至少一倍的检索空间,同时精确度差一点(但是精确度比按字分词好一点)。 系列文章: 社区全文检索引擎Hyper Estraier 学习笔记[1] 社区全文检索引擎Hyper Estraier 学习笔记[2] 社区全文检索引擎Hyper Estraier 学习笔记[3]
项目网站:http://www.spread.org/
Spread 是一个开源工具,它提供高性能的的消息服务,这种服务在局域网和广域网上能有效地避够失效。它在分布式程序中充当一个统一的消息总线的角色,并且提供高调谐的应用级的消息多路播送、组通讯、点到点支持。Spread的应用范围既包括高可靠的消息传送,也包括有序消息的传输(有保证). Spread可用在许多需要高可靠性,高性能,以及各种子集和成员之间健壮的消息传播的分布式程序中。这个工具封装了异步网络的复杂性,便于创建可高靠和可扩展性的分布式程序. Spread包含:一些需要被用户程序包含的库文件,一个守护进程(它需要运行在这个一组应用的每台机器上),以及一些工具和演示程序。 Spread提供的功能和便利有: 可靠的、可扩展地消息传播和组通讯。 可以简化分布式程序架构的简单而功能强大的API 易于使用,开发和维护 从本地局域网到复杂的广域网的可扩展性 支持有不同数目的成员的上千个组 提供在机器失效、应用崩溃和网络划分、重组时的可靠的消息传送的能力 为消息传送提供了可靠和排序、稳定保证。 重视健壮性和高性能 完全的分布式算法,不会有中央节点失效风险
为什么使用Spread * 功能强大而简单的API.只需要六个基本的调用就可以使用Spread了! * Spread做了优先,在本地局域网中可以支撑每秒8000个1Kbytes的消息 * 在网络划分或系统某部分失效时的可靠性和可用性,不管系统是由几台电脑构成的cluster,或是一些cluster,还是分布于广域网的几千台电脑组成的系统。 * 允许系统无缝地增长扩容而不需要改变架构. * Spread允许单播,多播,多组多播,scatter-gather calls,或是多路查询。 * Spread能处理网络和机器的重新划分并且能够安全地重新组合,能通知应用当前的状态. * 跨平台:Spread 支持跨平台的操作:Unix( BSD,Linux,Solaris,Irix,AIX,Mac OS X,etc)和Windows(2000/NT/98/95) * Spread当前有C/C++,C#,Java,Perl,Python和Ruby的编程接口.
无意中发现的
今天去湖北省驻京办去补办身份证,报和身份证号,就在凳子上等照相,但却告知我不是本人。 过去凑到电脑前一看,果然,名字、住址,都对,身份证号也对,但是出来的人的头像照片却不对,根本不是我的照片。 这一下我成真正的黑户了,不仅身份证丢了,连通过身份证号查出来的人也不是我了。
中国雅虎应用技术部现招聘PHP开发工程师。招聘的岗位职责是:与社区运营业务部门紧密配合,完成财经、奥运等主题社区的新产品系统设计、开发、优化工作。工作地点:北京
要求: * 计算机相关专业大学本科以上学历,具有扎实的计算机基础理论知识; * 一年以上业界工作经验,具有大型互联网应用开发经验; * 精通PHP语言,精通CGI标准和HTTP等互联网协议; * 熟练掌握HTML语言、JavaScript脚本语言; * 熟悉Unix/Linux操作系统和开发环境,能够熟练配置Apache服务器; * 具有一种以上关系型数据库应用开发经验,熟练MySQL开发者优先; * 熟练掌握Perl、Python和Unix Shell等其中一种语言; * 具有良好的中英文沟通能力,具有项目管理经验者优先;
欢迎技术精英加盟雅虎,有意者发送简历到ncp.recruit@yahoo.com.cn 邮箱!