Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

taopoppy/stackflowovermirror

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

25 Commits
25 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

我是如何实现stackoverflow中文版的

如果你是方达的员工,请不要吝啬你的star,点一个再往下看

问题的提出

stackoverflow是全球最大的编程问答网站,每天大约产生5000个以上的问题,无论是问题、讨论过程还是最后的答案,都表现出很高的质量,但中文问题讨论极少。对于习惯于中文搜索问题的开发者来说,存在两大问题,一是网站访问速度较慢,二是不能用中文搜索。所以作者就产生了开发stackoverflow中文版的想法,实现以下功能: 1、数据基本上与stackoverflow.com保持同步 2、同步数据过程中将问题、讨论、答案进行同步翻译成中文 3、用中文搜素问题及内容 4、用tag归类问题 5、即将推出APP

数据来源

stackoverflow极其开放,网站定期释出全库的备份,从这个备份还原到sqlserver,可以得到大约三个月前的所有数据,近期的数据,可通过https://api.stackexchange.com/API获取,由于此网站有10000次/天的请求限制,所以将将数据段进行切分,用多台服务器(多个IP)获取数据,写入SQLServer。一般来说,需要4台服务器,即可追上stackoverflow的新增记录同步。

翻译工作

由于stackexchange返回的body参数字符串是html类型的字符串,我们使用免费翻译软件翻译时会忽略codeprestrong标签当中的内容,对字符串进行特殊的处理,使用队列queue的方式,将字符串所包含的非翻译的部分以遍历的方式将其保存在队列当中,将剩余的部分进行翻译,按照队列依次出队的顺序分别插入到翻译结果的标记位当中,翻译的结果写回SQLServer中。

搜索实现

为了实现全文搜索, 达到用中文搜索问题和回答内容效果,用到了ES(elasticsearch)搜索引擎安装,每天使用Datax定时从SQLServer同步数据到ES

建立网站

参照stackexchange.com和一些开源项目,建立了stackoverflow中文版网站,目前还有完善中。

开源

做为开源加速网站gitclone.com的开发者,作者一直致力于在开源社区的贡献,https://developer.opendao.cn/的技术实现也在github开源。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.