商务服务
DHT网络原理制作bt采集蜘蛛,开源版
2024-11-06 16:02
我最开始在选用数据库时,为了不使用第三方库,打算使用erlang自带的mnesia。但是因为涉及到字符串匹配搜索,mnesia的查询语句在我看来太不友好,在经过一些资料查阅后就直接放弃了。效果可以看下具体51搜索展示http://www.51bt.cc,结合Xunsearch全文检索技术,可以达到毫秒级的数据搜索

DHT网络原理制作bt采集蜘蛛,开源版

然后我打算使用couchdb,因为它是erlang写的,而我正在用erlang写程序。第一次接触非关系型数据库,发现NoSQL数据库使用起来比SQL类的简单多了。但是在erlang里要使用couchdb实在太折腾了。我使用的客户端库是couchbeam。
因为couchdb暴露的API都是基于HTTP协议的,其数据格式使用了json,所以couchbeam实际上就是对各种HTTP请求、回应和json的包装。但是它竟然使用了ibrowse这个第三方HTTP客户端库,而不是erlang自带的。ibrowse又使用了jiffy这个解析json的库。这个库更惨烈的是它的解析工作都是交给C语言写的动态库来完成,我还得编译那个C库。
couchdb看起来不支持字符串查询,我得自己创建一个view,这个view里我通过翻阅了一些资料写了一个将每个doc的name拆分成若干次查询结果的map。这个map在处理每一次查询时,我都得动态更新之。couchdb是不支持局部更新的,这还不算大问题。然后很高兴,终于支持字符串查询了。这里的字符串查询都是基于字符串的子串查询。但是问题在于,太慢了。每一次在WEB端的查询,都直接导致erlang进程的call超时。
要让couchdb支持字符串查询,要快速,当然是有解决方案的。但是这个时候我已经没有心思继续折腾,任何一个库、程序如果接口设计得如此不方便,那就可以考虑换一个其他的。
我选择了mongodb。同样的基于文档的数据库。2.4版本还支持全文搜索。什么是全文搜索呢,这是一种基于单词的全文搜索方式。hello world我可以搜索hello,基于单词。mongodb会自动拆词。更关键更让人爽的是,要开启这个功能非常简单:设置启动参数、建立索引。没了。mongodb的erlang客户端库mongodb-erlang也只依赖一个bson-erlang库。然后我又埋头苦干,几个小时候我的这个爬虫程序就可以在浏览器端搜索关键字了。
后来我发现,mongodb的全文搜索是不支持中文的。因为它还不知道中文该怎么拆词。恰好我有个同事做过中文拆词的研究,看起来涉及到很复杂的算法。直到这个时候,我他妈才醒悟,我为什么需要基于单词的搜索。我们大部分的搜索其实都是基于子字符串的搜索。    以上就是本篇文章【DHT网络原理制作bt采集蜘蛛,开源版】的全部内容了,欢迎阅览 ! 文章地址:http://mdekt.bhha.com.cn/news/128.html 
     资讯      企业新闻      行情      企业黄页      同类资讯      首页      网站地图      返回首页 康宝晨资讯移动站 http://weazh.bhha.com.cn/ , 查看更多   
最新新闻
中国传统文化的词汇归纳汇总
关于中国传统文化的英语词汇,这里转载人民日报上100个中国传统文化名词此外还有100个,不过部分与上述图片中的有重合,这里仅供
十大油耗最低的SUV车型有哪些
以下是十大油耗最低的 SUV 车型1.UX 2.0L 混动综合油耗 6.35L/100km作为雷克萨斯级别最小的 SUV 车型其燃油经济性相当高国内两驱
地推业务推广公司 地推团队联系方式
前言:app拉新,地推,网推地推业务推广公司 地推团队联系方式-宣传视频地推入门门槛低,适合各个人群参与,而且工作时间灵活,因
Thinkphp6(7)模型学习与知识总结(三)
Thinkphp6(7)模型学习与知识总结(三)继续学习模型的知识,上节课已学习到的知识有查询、软删除、自动时间戳。今天来学习:1.
广东百度首页推广(广东百度首页推广公司)
大家好,今天小编关注到一个比较有意思的话题,就是关于广东百度首页推广的问题,于是小编就整理了4个相关介绍广东百度首页推广
抖音播放量怎么算收入?有哪些收入渠道?(抖音播放量怎么赚钱)
在抖音上面开通直播,其实也希望能积攒更多的播放量,但是大家是否清楚抖音播放量是怎么计算收入的呢?具体有哪些收入渠道来源呢?
3本书带来3个小故事——有关增长、营销、成长
产品工作中,当产品比较成熟,优化空间比较小的时候,如何用运营的视角去解决战术层面的问题?个人成长遇到低谷怎么办?本文作者
从用户体验的角度分析抖音
编辑导语:如今短视频行业非常火热,各种短视频平台蜂拥而至,字节跳动旗下的抖音短视频成为市面上的爆品,每个用户都可以成为创
【面试题周更新】6月24日~6月26日
第一题有三组关键词:“口袋富”和“脑袋富”、“做大蛋糕”和“分好蛋糕”、“量力而行”和“尽力而为”。请从三组关键词里选出
宁德时代曾毓群:真正的创新就是要创造“人无我有”
转自:上海证券报·中国证券网  上证报中国证券网讯(记者 俞立严)在日前举办的2024中国国际大学生创新大赛总决赛上,董事长
本企业新闻
推荐企业新闻