项目目的:OSChina 实现全文搜索的简单封装框架css
License: Public Domainhtml
包含内容:java
重建索引工具 -> IndexRebuilder.javanode
增量构建索引工具 -> IndexUpdater.javagit
全文搜索框架github
http://git.oschina.net/oschina/search-framework
web
TngouDB是天狗网(tngou.net)开发的中文搜索引擎数据库,用于天狗农业网的农业搜索引擎。 天狗但愿基于开源的力量,把TngouDB打形成为一个专门的中文索引NoSQL数据库。mongodb
TngouDB是基于JAVA而开发的跨平台数据库,底层采用Lucene(存储引擎)、IK(分词)、Netty(通讯)等 而打造的网络数据库。
TngouDB直接简化的Lucene的相关API的调用,使用SQL语句实现数据的CRUD操做。数据库
TngouDB能够脱离Lucene单机的如今,经过网络能够把TngouDB部署在单独的服务器上,单独处理存储于查询业务。TngouDb同
时简化的Solr的复杂性,用户能够经过简单的SQL语句进行相关的数据操做。TngouDB能够彻底抛开Lucene与Solr相关的知识,用常见 的SQL语句就能够实现。npm
文档地址:http://www.tngou.net/doc/tndb 支持完整的安装、配置、使用文档。
如今TngouDB暂且是内部测试版本,请先不用用于上线的项目!咱们会不断的开发与更新,后期会发布相应的正式版本。
如今TngouDB用于天狗网的搜索业务 天狗农搜(http://www.tngou.net/search)
http://git.oschina.net/397713572/TngouDB
本项目为北大搜索引擎TSE的完整源代码(包括索引和爬虫两个独立项目的源代码),TSE 为《搜索引擎——原理、技术与系统》一书介绍的实现原型,有兴趣的朋友能够参考该书学 习TSE。
《搜索引擎——原理、技术与系统》提供的源码下载地址http://sewm.pku.edu.cn/book/
常常不能访问,这里我将之前下载学习的加入详细注释的源代码开放出来,不只有注释的 源代码,还有一份详细的学习笔记—— CSDN博客专栏地址为:http://blog.csdn.net/column/details/inside-tse.html ,但愿对入门的朋友有一些帮 助。
目录说明:
tse081227 —— TSE的网页搜集子系统(爬虫)。
index —— TSE的预处理和查询服务子系统,该目录很是大,其实不是由于源代码大,而是 由于其中的 index/Data/Tianwang.raw.2559638448 很是大,该文件为爬虫爬 取的原始网页数据。
另外,原始的 index/Data/Tianwang.raw.2559638448 文件有三百多兆,上传时提示超出 了 git.oschina.net/ 文件的最大限制(100M),因此将文件内容删掉了不少,为了获得 较小的文件,这个对于整个系统的运行没有任何影响,由于它只是爬取的原始网页数据, 能够多能够少。
http://git.oschina.net/lewsn2008/LBTSE
这是一个用Node.JS编写的Google搜索服务,原理是拿着用户的关键词去Google服务器搜索,而后将返回的结果响应给用户。使用NodeJs编写的谷歌搜索代理程序
关于证书的说明:文件列表中提供的证书仅为测试使用,在生产环境下需替换为你本身的证书
git clone https://git.oschina.net/lenbo/gso.gitcd gso npm install --production
npm start
或 node ./bin/run
设置站点名称后会在首页logo下,浏览器标题栏中显示。 修改conf/config.js文件, 找到name节点, 修改成本身的站点名:
name: '谷搜客'
将脚本粘贴到views/partials/statistics.ejs文件中
将文字粘贴到data/words.txt中,每句以一个空行分割, 支持html代码
将可用的IP放入conf/ip.txt文件中,每一个ip以一个回车换行分割.
有时,咱们可能须要设置一个代理服务器,好比google的ip失效暂时没法使用或被google屏蔽的时候. 修改conf/config.js文件, 找到proxy节点:
proxy: { enable: false, //设置是否启用 timeout: 5000, //设置超时时间, enable为true时有效 host: '', //代理服务器地址 port: 80 //代理服务器端口 }
clone后的代码是未压缩的,可使用grunt工具进行压缩。
安装grunt工具: npm install -g grunt-cli
在项目根目录执行grunt static
命令
修改conf/config.js中的r_prefix值为/public
注:执行grunt命令前必须使用npm install
安装依赖,而不是npm install --production
启动服务前设置NODE_ENV
为production
便可,如NODE_ENV=production forever start bin/run
增长“相关搜索”功能;
OpenSearch, 支持IE,Firefox,Chrome设置为默认搜索引擎;
简单的敏感词检测,不然链接会被墙/链接重置;
HTML代码压缩,基于html-minifier模块进行压缩已渲染好的HTML代码;
headroom功能(当页面向下滚动时,搜索区消失,当页面向上滚动时,搜索区又出现了。我的以为这个体验对小屏幕笔记本及pad比较好,尤为是手机终端);
实现HTTPS功能(关键词加密);
使用cheeio替代jQuery解析;
输入框自动完成;
搜索内容语言切换;
根据时间段筛选结果;
使用filetype指令搜索时,结果项前缀显示filetype;
支持设置多个Google IP(2014-12-25);
增长HTTP代理功能(2014-12-28);
[ ] Pad显示优化,字体优化;
[ ] 优化手机端使用体验;
[ ] 支持键盘快捷键;
[ ] 支持维基百科检索;
[ ] 优化错误日志记录;
[ ] 支持视频元信息检索(同时检索可播放来源)
[ ] 增长在线代理功能(代理搜索结果中出现的部分被屏蔽的网站);
代码是一年前写好的,因此爬虫可能已经失效,不过在此基础上改改应该就能够了。
K:\GIT\dianying\scripts>tree /f文件夹 PATH 列表卷序列号为 EE77-EC45K:.│ iqiyi_movie_test.py│ letv_movie_test.py│ m1905_movie_test.py│ pps_movie_test.py│ pptv_movie_test.py│ qq_movie_test.py│ sohu_movie_test.py│ tudou_movie_test.py│ xunlei_movie_test.py│ youku_movie_test.py│└─douban doubanapi_1.py doubanapi_2.py doubanapi_3.py doubanapi_xj.py douban_movie_test.py
dianying_web.py支持将爬虫保存到mongodb中的数十万条记录以WEB方式的形式展现,并支持关键字查询。