用開源搜尋引擎定製你的網際網路
上手開源的對等 Web 索引器 YaCy。
很久以前,網際網路很小,小到幾個人就可以索引它們,這些人收集了所有網站的名稱和連結,並按主題將它們分別列在頁面或印刷書籍中。隨著全球資訊網網路的發展,形成了“網站環”形式,具有類似的內容、主題或敏感性的站點捆綁在一起,形成了通往每個成員的迴圈路徑。環中任何站點的訪問者都可以單擊按鈕以轉到環中的下一個或上一個站點,以發現與其興趣相關的新站點。
又過了一段時間,網際網路似乎變得臃腫不堪了。每個人都在網路上,有很多冗餘資訊和垃圾郵件,多到讓你無法找到任何東西。Yahoo 和 AOL、CompuServe 以及類似的服務各自採用了不同的方法來解決這個問題,但是直到谷歌出現後,現代的搜尋模型才得以普及。按谷歌的做法,網際網路應該通過搜尋引擎進行索引、排序和排名。
為什麼選擇開源替代品?
像谷歌和 DuckDuckGo 這樣的搜尋引擎顯然是卓有成效的。你可能是通過搜尋引擎訪問的本站。儘管對於因主機沒有選擇遵循優化搜尋引擎的最佳實踐從而導致會內容陷入困境這件事仍存在爭論,但用於管理豐富的文化、知識和輕率的資訊(即網際網路)的現代解決方案是冷冰冰的索引。
但是也許出於隱私方面的考慮,或者你希望為使網際網路更加獨立而做出貢獻,你或許不願意使用谷歌或 DuckDuckGo。如果你對此感興趣,那麼可以考慮參加 YaCy,這是一個對等網際網路索引器和搜尋引擎。
安裝 YaCy
要安裝並嘗試 YaCy,請首先確保已安裝 Java。如果你使用的是 Linux,則可以按照我的《如何在 Linux 上安裝 Java》中的說明進行操作。如果你使用 Windows 或 MacOS,請從 AdoptOpenJDK.net 獲取安裝程式。
安裝 Java 後,請根據你的平臺下載安裝程式。
如果你使用的是 Linux,請解壓縮 tarball 並將其移至 /opt
目錄:
$ sudo tar --extract --file yacy_*z --directory /opt
根據下載的安裝程式的說明啟動 YaCy。
在 Linux 上,啟動在後臺執行的 YaCy:
$ /opt/startYACY.sh &
在 Web 瀏覽器中,導航到 localhost:8090
並進行搜尋。
將 YaCy 新增到你的位址列
如果你使用的是 Firefox Web 瀏覽器,則只需單擊幾下,即可在 Awesome Bar(Mozilla 給 URL 欄起的名稱)中將 YaCy 設定為預設搜尋引擎。
首先,如果尚未顯示,在 Firefox 工具欄中使專用搜尋欄顯示出來(你不必使搜尋欄保持一直可見;只需要啟用它足夠長的時間即可新增自定義搜尋引擎)。Firefox 右上角的“漢堡”選單中的“自定義”選單中提供了搜尋欄。在 Firefox 工具欄上的搜尋欄可見後,導航至 localhost:8090
,然後單擊剛新增的 Firefox 搜尋欄中的放大鏡圖示。單擊選項將 YaCy 新增到你的 Firefox 的搜尋引擎中。
完成此操作後,你可以在 Firefox 首選項中將其標記為預設值,或者僅在 Firefox 搜尋欄中執行的搜尋中選擇性地使用它。如果將其設定為預設搜尋引擎,則可能不需要專用搜尋欄,因為 Awesome Bar 也使用預設引擎,因此可以將其從工具欄中刪除。
對等搜尋引擎如何工作
YaCy 是一個開源的分散式搜尋引擎。它是用 Java 編寫的,因此可以在任何平臺上執行,並且可以執行 Web 爬網、索引和搜尋。這是一個對等(P2P)網路,因此每個執行 YaCy 的使用者都將努力地不斷跟蹤網際網路的變化情況。當然,沒有單個使用者能擁有整個網際網路的完整索引,因為這將需要一個資料中心來容納,但是該索引分佈在所有 YaCy 使用者中且是冗餘的。它與 BitTorrent 非常相似(因為它使用分散式雜湊表 DHT 來引用索引條目),只不過你所共享的資料是單詞和 URL 關聯的矩陣。通過混合雜湊表返回的結果,沒人能說出誰搜尋了哪些單詞,因此所有搜尋在功能上都是匿名的。這是用於無偏見、無廣告、未跟蹤和匿名搜尋的有效系統,你只需要使用它就加入了它。
搜尋引擎和演算法
索引網際網路的行為是指將網頁分成單個單詞,然後將頁面的 URL 與每個單詞相關聯。在搜尋引擎中搜尋一個或多個單詞將獲取與該查詢關聯的所有 URL。YaCy 客戶端在執行時也是如此。
客戶端要做的另一件事是為你的瀏覽器提供搜尋介面。你可以將 Web 瀏覽器指向 localhost:8090
來搜尋 YaCy,而不是在要搜尋時導航到谷歌。你甚至可以將其新增到瀏覽器的搜尋欄中(取決於瀏覽器的可擴充套件性),因此可以從 URL 欄中進行搜尋。
YaCy 的防火牆設定
首次開始使用 YaCy 時,它可能執行在“初級”模式下。這意味著你的客戶端爬網的站點僅對你可用,因為其他 YaCy 客戶端無法訪問你的索引條目。要加入對等環境,必須在路由器的防火牆(或者你正在執行的軟體防火牆)中開啟埠 8090,這稱為“高階”模式。
如果你使用的是 Linux,則可以在《使用防火牆讓你的 Linux 更加強大》中找到有關計算機防火牆的更多資訊。在其他平臺上,請參考作業系統的文件。
網際網路服務提供商(ISP)提供的路由器上幾乎總是啟用了防火牆,並且有太多種類的防火牆無法準確說明。大多數路由器都提供了在防火牆上“打洞”的選項,因為許多流行的聯網遊戲都需要雙向流量。
如果你知道如何登入路由器(通常為 192.168.0.1 或 10.1.0.1,但可能因製造商的設定而異),則登入並查詢配置皮膚來控制“防火牆”或“埠轉發”或“應用”。
找到路由器防火牆的首選項後,將埠 8090 新增到白名單。例如:
如果路由器正在進行埠轉發,則必須使用相同的埠將傳入的流量轉發到計算機的 IP 地址。例如:
如果由於某種原因無法調整防火牆設定,那也沒事。YaCy 將繼續以初級模式執行並作為對等搜尋網路的客戶端執行。
你的網際網路
使用 YaCy 搜尋引擎可以做的不僅僅是被動搜尋。你可以強制抓取不太顯眼的網站,可以請求對網站進行網路抓取,可以選擇使用 YaCy 進行本地搜尋等等。你可以更好地控制你的網際網路的所呈現的一切。高階使用者越多,索引的網站就越多。索引的網站越多,所有使用者的體驗就越好。加入吧!
via: https://opensource.com/article/20/2/open-source-search-engine
作者:Seth Kenlon 選題:lujun9972 譯者:wxy 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 以圖搜尋——網際網路影象搜尋引擎的“雞肋”?
- 各大網際網路巨頭的搜尋引擎交鋒PGB
- 泛企業搜尋PK網際網路搜尋
- Shodan:網際網路上最可怕的搜尋引擎
- Flutter 網路搜尋引擎SEO優化友好Flutter優化
- 使用開源搜尋引擎 YaCy 的技巧
- 相見恨晚!開源的傻瓜搜尋引擎,幫你快速實現搜尋功能
- Tomcat和搜尋引擎網路爬蟲的攻防Tomcat爬蟲
- Nutch:從搜尋引擎到網路爬蟲---分享公開課爬蟲
- 開源BT磁力搜尋引擎收集
- 網際網路廣告投哪了?adbug廣告搜尋告訴你
- 開源搜尋技術的核心引擎 —— Lucene
- 中國網際網路首現搜尋框掛馬“114搜尋”被“黑”
- 開放搜尋開源相容版,支援Elasticsearch做搜尋召回引擎Elasticsearch
- 網路偵察技術(一)搜尋引擎資訊收集
- 開源搜尋引擎相關資料
- Google 副總裁謝樂爾:網際網路搜尋才剛開始Go
- 央視:網際網路廣告出新規 搜尋廣告再受限定
- 用 google 作為你的預設搜尋引擎Go
- 【財經類網際網路入口網站】誠聘JAVA開發工程師(搜尋)網站Java工程師
- CNNIC:搜尋微信公眾賬號中的網際網路思維CNN
- 網站搜尋引擎優化問題網站優化
- 基於c++或C的開源搜尋引擎C++
- 幾大搜尋引擎的網站登入入口網站
- 網盤資源搜尋網站推薦網站
- 設定搜尋引擎遮蔽 CSDN
- 精準搜尋“搜村網”,為農業產業發展製造“網路快車”產業
- 開發人員都應該知道的開源搜尋引擎
- 搜尋引擎-03-搜尋引擎原理
- 用好錄製宏、VBA幫助與網路搜尋(轉)
- 8 個基於 Lucene 的開源搜尋引擎推薦
- 2004,開始融入你的網際網路
- Java實現利用搜尋引擎收集網址的程式Java
- 揭秘淘寶搜尋API:打造你的專屬購物搜尋引擎!API
- 採用div+css製作網站或重構網站的必要性--針對搜尋引擎最佳化CSS網站
- 移動搜尋與LBS成為百度切入移動網際網路的先鋒應用
- 鏈家、安居客、搜房網、愛屋吉屋:“網際網路+”PK“+網際網路”
- 如何優化單頁面網站搜尋引擎?優化網站