Sina App Engine provides a technical briefing on their development team, techniques, architecture, and improvements to their platform. Their team is small but effective and works cooperatively and independently. Their technique is built upon existing open source projects like Zend, Apache, and uses multiple languages and platforms. They are concerned with scalability, security, availability, and simplicity.
Values in product design are a person's principles or standards that guide their work. Designers shape the tools they create, and those tools then influence how people behave. Design has the power to revolutionize behavior by reflecting our highest human values in the products and technologies that shape modern life.
This document discusses music recommender systems and algorithms. It describes association rules, slope one, and singular value decomposition (SVD) algorithms. It provides examples of applying association rules and discusses preprocessing steps like data cleaning and normalization. SVD is explained in more detail, including dimensionality reduction and using SVD for recommendations. The document concludes by outlining the full recommendation process from data collection to tracking user feedback to optimize recommendations.
29. 实现 (1/8)
IndexRebuilder
搜索管理后台
发出开始重建索引命令 IndexReceiver
cron 发送重建数据
Rebuild
xml data
端口
1986
Update
xml data IndexUpdater
DAL 数据更新 配置文件
同步通知搜索
Searcher
搜索客户端调用
Searcher 的 API 端口
1985
30. 实现 (2/8)IndexReceiver
IndexRebuilder
搜索管理后台 IndexReceiver
发出开始重建索引命令
cron 发送重建数据
Rebuild
xml data
端口
1986
Update
xml data IndexUpdater
DAL 数据更新 配置文件
同步通知搜索
Searcher
搜索客户端调用
Searcher 的 API 端口
1985
32. 实现 (3/8)IndexUpdater
IndexRebuilder
搜索管理后台
发出开始重建索引命令
cron 发送重建数据
Rebuild
xml data
端口
1986
Update
IndexUpdater
xml data
DAL 数据更新 配置文件
同步通知搜索
Searcher
搜索客户端调用
Searcher 的 API 端口
1985
34. 实现 (4/8)IndexRebuilder
IndexRebuilder
搜索管理后台
发出开始重建索引命令
cron 发送重建数据
Rebuild
xml data
端口
1986
Update
xml data
DAL 数据更新 配置文件
同步通知搜索
Searcher
搜索客户端调用
Searcher 的 API 端口
1985
37. 实现 (6/8)Transfer
搜索管理后台
发出开始重建索引命令
cron 发送重建数据
Rebuild
xml data
端口
1986
Update
xml data
DAL 数据更新 配置文件
同步通知搜索
Searcher Transfer
搜索客户端调用
Searcher 的 API 端口
1985
39. 实现 (7/8)Searcher
搜索管理后台
发出开始重建索引命令
cron 发送重建数据
Rebuild
xml data
端口
1986
Update
xml data
DAL 数据更新 配置文件
同步通知搜索
Searcher
搜索客户端调用
Searcher 的 API 端口
1985
54. 开发中的一些收获 (1/5)
?
FileChannel.transferTo 拷贝文件失败:
?
Fewer than the requested number of bytes are transferred if the
target channel is non-blocking and it has fewer than count bytes
free in its output buffer.
?
解决: check copied size ,断点续传
?
根据 lucene 索引文件更新的特性 ( 每次更新一个新版本的时
候,都会新建一个全新的文件 ) ,使用 cp -l 链接替代真实的
大文件拷贝动作
61. Lucene 3
? Lucene 2.9
? Searchable.search(Weight, Filter, Collector): collector 终于可用了
? Added new MultiReaderHitCollector: 解决 group by
? near real-time search via IndexWriter.getReader(): 单机方案
? Lucene 3.0
? Del deprecated apis: 大版本升级要谨慎
? Port to Java5: 应该会有性能的提升
? Lucene 3.1
? Near Realtime Search (using a built in RAMDirectory): 还是单机方案
? Complete overhaul of FieldCache API/Implementation: 等到花儿也谢了
62. 定制功能
?
在某些情况下作为数据库的替代数据源
?
类似淘宝搜索,按多个字段筛选,过滤,排序
?
当前解决方案:使用 sql 从数据库中选取数据
?
问题:数据可能因为业务逻辑的设计而分散在多个不同的
库,表中,联表查询问题,并发压力问题
?
难点:非典型的复杂的查询条件,如 group by