項目目的: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方式的形式展現,並支持關鍵字查詢。