浅谈搜索httpcws+sphinx

使用sphinx是以下几点:

1,它可以提供多站数据的搜索

2,能驾驭亿级数据的高并发通用搜索引擎

3,支持XML、JSON的API查询接口,分布式、中文分词、高亮显示、准实时(1分钟内)增量索引更新

接下来说一下,3年前应用至今的一个作品设计:httpSQS,TTserver,httpcws(也可参考PHP中文分词),sphinx(sphinx配置文件),mysql,crontab;

方案:

守护进程;读取队列数据,根据数据取得TTserver内容,更新数据库(增删改查);

搜索:关键字传入后,先经过httpcws分词,传入sphinx,根据条件,公式,人工干预权重,得出结果(请查看张宴老师的基于Sphinx构建准实时更新的分布式通用搜索引擎平台[原创]),根据结果(id列表)从TT里取出内容,再调用高亮函数程现到页面上

索引:系统第一次运行时,需要导入数据,全面建立主索引,然后:crontab,5分钟建立一次增量,6个小时合并到主索引(三年前的作品了,这个设计已经落后了,可以学张宴老师的)

日志分析:经过httpcws分词后的日志处理后统计关键字方便很多,日志需要按时间为文件名进行(防止文件过大),一天执行一次(两个表:月表,日表;月初清除日表中两月前的统计数据,仅保留近一周的日志文件)

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注