`
imjl
  • 浏览: 156305 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
利用开源做的搜索结果排序目前主要两种计算方式:索引时做好了score计算和查询时动态计算。各有优缺点,适合不同业务。 搜索结果排序需要考虑的点比较多,比如设定不同字段不同比率来计算score,这些字段的来源是否一致,其包含的信息多大,其如何存储。如果需要动态调整,那么其改动成本多大(人员,硬件,时间,金钱等)?如果多台机器,那么是否需要mapreduce,结果是否cache,cache更新,数据一致性。如果有预处理又该如何做。索引和搜索如何协调一致等。 比较讲究的还需要不断修改搜索结果排序算法来达到准确,快速的目的。 一般搜索满足有搜索关键词显示的,用二分分词就够了,排序用lucene自带 ...

一个static的问题

    博客分类:
  • php
static可以放在class,也可以放在function。两者有什么差异。 一般当函数do1,do2都用到 $_arr时,把它作为类变量。 class A{ static $_arr; function do1(){ } function do2(){ } } Codeigniter 用在函数load_class, 变量static $_classes = array(); 于是在code时发现个问题 class FileManage{ function install(){ static ...
一般php的mvc框架都会有route部分,我理解的是将url解析成controller, action, params. 比如 http://localhost/framework/index.php/a/b/?id=1 controller = a action = b params 就是id=1 seo效果后,可能是 test.com/a_b_1.html, 也可能是test.com/a/b/1.html. url解析完成后就到根据特定规则载入controller执行action操作。 和一般url中包含文件夹显示不一样,比如test.com/a/b/1.html,如果没有rew ...

说说我眼中的php

    博客分类:
  • php
php优缺点,随便搜搜很多。 说说我眼中的php,凭此来记录。 写了不少php代码,但是复用的很少。目前只有一个mysql类。 用过些网上php的类,终究不是自己设计,用过就扔。 也用过些框架,目前只喜欢ci和zend,理由前者简单,后者模块化设计,但是zend还是比较复杂。所以在写个简单点的模块化特征,能少写代码快速使用的,易于理解(我指设计),适合我这样懒人需求的,模块化目的为了代码能复用,易于理解是为了快速将模块搭的适合不同需求。重复轮子有时并不是一件坏事,它能加强你对一些东西认识。 语言速度改变不了多少,所以我不做所谓的语言程度提速优化。大部分重写,并不是为了提升速度,而是为了提 ...
目前全文搜索用到的中文分词,大都是开源和自己开发 相应的算法很多,到底选哪个来写,各有各的看法。 我分享下我做过的供大家参考 没用过词性的中文分词,因为我的业务用不到。 用过的大部分开源的中文分词,主要是基于字典对纯数字,纯英文,纯中文,混合进行比对,效率看字典好坏,其字典设计,内存使用,比对次数,扫描文章次数等。 适合没有明确搜索关键词的全文搜索,其目标是搜索到。 缺点:由于字典和算法,实现后的中文分词形成的索引大小差异比较大,很难衡量其准确性 写过一个分词,基本就是基于产品型号字典的比对。 特点:索引速度快,索引小。因为字典和业务挂钩很容易检查其准确性。 缺点:只能基于业务。 中 ...
感兴趣:    全文搜索, 网站架构, 分布式存储 缺点:    自学的东西不系统,比较杂,不够深入 全文检索:    使用solr搭建过7600万全文搜索 web:    使用php+mysql写web,600万级pv的架构优化 以上数字是我做过的,不是我只能做这么多。  工作使用开源的理由:    一:相对于公司当前平台而言,开源足够强大,从业务来看,只需在开源上稍作调整(当然每家公司可能不一样,我只是说我工作过的公司)    二:做产品要稳,开源相对于自己开发的,稳定多了(从开发到投入运作时间够久,花的人力物力够多,老板不一定有足够耐心)    所以对那些想招那种算法,数据结 ...
想创业的人总会一厢情愿的想到很多美好钱景 而事实往往不如人意 所以实在点 对那些想创业,想忽悠别人一起做得人说 啥时候盈利 只有盈利了才能发工资,才能安心持久的做,空着肚子的坚持是不长久的。 时间太长估计不能吸引人。 目标简单,快速盈利的项目比较适合起步,即便这只是原始资金的积累也可以。
用日期+扯淡来作题目,比较方便,而且不会重复。 头衔:资深PHPER,混得时间久的缘故。 之所以说头衔,因为最近又给找搜索的猎头抓到,很早很早以前我还有兴趣听到底要做什么,自从去年经历了几次搜索面试,我已经没兴趣了,所以我直接回:我不会JAVA,不会数据结构,不懂算法。 那么多面试搜索的,也没见自己能独立写个,但给人感觉是说起数据结构一套又一套,说起算法一摞又一摞,就差宇宙第一牛封号了。 先别说大都靠着开源的做着二次开发,就连搜索产品都没做好。 chinaunix有一句话我很赞赏:考算法,你以为你是数学家!考智力题,你以为你是哲学家! 换个话题。 高并发对我来说一直很神秘,现在也 ...
高并发请求分离静态请求,动态请求 静态请求:文字,图片 动态请求:读取数据,更新数据,写数据,删除数据 处理单个任务很慢,很容易造成后面的链接大量滞留,比如没有用好索引 HTPPD的链接数要和自身任务和所处环境相关,别开过多,要不可能挂 分布式表面看将任务分离到多机,但是复杂度加大,如非必要,慎用 不同环境使用同一开源软件会有不同效果,所以要根据自身来选择,不要人云亦云 应用开发和架构设计两回事 用好cache 当然最关键的是对业务数据特性的分析 这个会不断更新
搭了个论坛  www.laibaojia.cn 每个地方都有自己的规矩,比如这里不能发布招聘,因为这和je业务有冲突,我能理解。 但我经常碰到朋友,猎头要招人,在这个不景气的时候,我希望能给那些找工作的人 更多信息,当然这也让一些在职者有机会找到更适合自己的工作。 技术讨论我更希望是那些有一定工作经验的人来分享,以此达到互补学习的作用。所以不适合那些一遇到问题就要发帖寻找帮助的人,也不适合高高在上的大师。 自娱自乐用的,不追求人数。
继续跟踪lucene,大致看新功能,而不是具体code 继续跟踪solr,大致看新功能和应用,希望结交更多solr使用者。 非专业的搜索系统上亿不大现实,至少目前没机会。千万已经做过了,所以目前搜索我比较感兴趣的是新的好玩的有用的应用。 继续跟踪推荐相关算法,目前还在观望,真正结合业务的才是我感兴趣的,目前感觉过于理论。 跟踪redis,可能会投入实际应用 将学搜索学到的知识,应用到php+mysql的高并发,大数据量的优化,框架和架构设计。 如果时间允许,可能会参加些线下聚会,希望认识更多朋友。 我的联系方式    QQ:  285799457   ,加我说下感兴趣的,便于我分 ...
Yahoo中国面试题PHP算法(2010-03-02 22:51:13)转载 标签:it 分类:Interview 3.7 写一个function实现数组内每个元素之间加法的递代运算? 注:数组元素全部为自然数. 例: $data=array(1,2,3); 程序要求打印出数组每个数组元素相互之间各种可能性加法(包括元素自已本身加法) 1+1=2,1+2=3,1+3=5, 2+2=4,2+3=5, 3+3=6 打印出以下结果 PHP代码 Array   (       [0] => Array           (               [0] => 2     ...
一般网站(假设用 Lucene )要做更新频率比较高的,常见的是大小索引包,大的索引包是旧数据索引,小索引包是新数据索引。更新主要集中在小索引包这里,因为索引小,所以完成索引到能提供搜索的时间是比较短。 但是有时候也不能满足一些高并发的网站高更新需求,高更新要求指的是:用户可能提交了信息后,希望提交后,就能搜索到。这个用lucene的可能就有点吃力。这类一般修改的也很多。 这样可能就需要考虑自建,于是就需要考虑以下几个因素: 1:索引:索引通常是倒排,一个termid最多包含多少个docid呢?以新索引来看应该不会多的很,如果很多,那么可以定期写一个索引,顶多到时候并发到三个地方(旧索引( ...
正则一大堆东西,我不知道。 但是写爬虫要用到正则,尤其我以前写过智能型爬虫。 举例爬取:<a href="a.html" target=_blank>test</a> php我通常会写成 $p = "/<a href="(.+?)".*?>(.+?)<\/a>/is"; .*? 理解成过滤信息 (.+?) 你要拿得信息 这样的写法 C# 也可以。。如果java可以,请回下。
为什么要用lucene的score来排序? 我是google,baidu么?不是。我做的是通用的网页搜索么?不是。 如果做商品,一般是价格,时间,诚信,推荐,,,,,数据量多了还可以其他排序。 深入了就是数据挖掘一部分了。 当然也有适合用lucene的score来排序的场景,欢迎这些人来补充。
Global site tag (gtag.js) - Google Analytics