先广告一下:Craigslist目前是美国最大的分类广告网站,中国做这块的网站有口碑(Yahoo),客齐集(Ebay),赶集网(Google)等 。。。(括号后是各自的靠山)。
Craigslist成名之路也是一个奇迹来着,这里我就不多讲了,主要说一下它的搜索技术。
Craigslist的数据是用Mysql存储的,我敢肯定大量用了数据库水平和垂直分区(比如每个地区一个数据库),它的搜索过去用的是Mysql自带的全文检索功能,现在替换成了Sphinx,这项升级工作是由原Yahoo工程师Jeremy Zawodny加入Craigslist后搞的。
Sphinx和Lucene(Apache Solr)有什么差别呢?
首先两着都是一个基本完整的搜索引擎,有Indexer, Searcher, 支持高级搜索语法,支持分布式索引,水平扩展等,高性能。
Sphinx本身是为了替换数据库搜索而开发的,主要代码是C++实现的,但有了很多语言的API(如:PHP,Ruby等),而Lucene则是Java,天生跨平台。
Sphinx搞集群稍微容易上手一点,Lucene则需要你充分了解且需要实现不少的代码,但Lucene代码的非常模块化,扩展性很好,支持国际语言也更强一些。
未完。
My name is Hugo Zhu.




我也看到Sphinx了,性能要比较一下。