摘要:引言相信很多朋友們也想擁有一個屬于自己的,可自定義數據的搜索引擎。旨在幫助一般開發者針對既有的海量數據,快速而方便地建立自己的全文搜索引擎。
相信很多朋友們也想擁有一個屬于自己的,可自定義數據的搜索引擎。
可是網上的教程大多集中于利用SearX實現聚合各個公共搜索引擎的數據源,而不是用自己爬取的數據作為數據源。
而提到了如何利用自有數據建立搜索引擎的教程大多是基于ElasticSerach,對于我們輕量級使用的用戶而言,這個學習成本太高,僅僅是要實現簡單的搜索以及聯想關鍵詞功能就需要數以月計的時間進行學習
若要使用阿里云等提供開發好的的Elastic搜索服務,又會發現每個月包月的價格對于我們這些訪問量不大的小站而言,十分不劃算。僅僅最低檔的套餐就要104元,有這錢升級一下服務器他不香嗎?
所以我們來嘗試自建一個搜索引擎吧!!
Linux系統的VPS*1 ps:如果你不知道這個玩意兒是啥的話,推薦看看之前的推文:
MySQL數據庫(作為數據源)
一丟丟Linux運維命令的基礎
Xunsearch 是一個高性能、全功能的全文檢索解決方案。
Xunsearch 旨在幫助一般開發者針對既有的海量數據,快速而方便地建立自己的全文搜索引擎。 Xunsearch 中文譯名為“迅搜”,代碼中的經常被縮寫為 XS,既是英文名稱的縮略也是中文聲母縮寫。 這兒的“迅”是快速的意思,至少包含了兩層涵義:其一代表了搜索結果的響應能力,其二則為二次開發難度、速度。
可以看出,XunSearch主要分為 利用C++開發的后端用于建立索引以及搜尋索引,還有一個XunSearch PHP-SDK作為前端。
現在正式開始我們的教程吧
先檢查是否安裝了后續部署需要的組件,對于后端的安裝而言,至少得有GCC用于編譯,以及wget用于下載 一般而言這兩項都是有的_(Md,還真有些精簡過的系統沒有)_ 不放心的朋友們可以試試這兩個命令,來檢查是否安裝了這些需要的組件
gcc -v
rpm -qa|grep "wget"
檢查過后就可以用Linux下常用的軟件安裝三句話搞定了
wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2
tar -xjf xunsearch-full-latest.tar.bz2
cd xunsearch-full-1.4.14/ 這一步要看你自己安裝下來的版本是多少
sh setup.sh
ps:這一步由于服務器性能限制,可能會執行很久,千萬不要中途斷開連接哦
cd 安裝目錄 這里填入你上一步記下的安裝目錄
bin/xs-ctl.sh restart
在安裝了之后,php-sdk會被釋放到安裝目錄下的/sdk/php/目錄下
這個php-sdk呢,就相當于一個網站的源碼,要部署的時候直接復制到網站根目錄即可,就和一般的網站搭建過程一樣,這個不是技術上的難點
配置文件的編寫是XunSearch項目的核心部分,具體每一項的含義在技術文檔有 我這里以一個簡單夠用的例子來解析
project.name = OneGoSearch //項目名稱
[id] //字段名稱
type = id ///字段類型,此處為主鍵,每個項目必須要一個主鍵
[name1]
index = mixed
[link1]
index = mixed
,
這里說明幾點:這些字段需要與你存入數據庫中的數據的字段相同,比如說如下圖
我要能夠讓用戶按照名字搜索到這些資源站的文件的鏈接,就需要索引name1,link1,還需要一個id作為唯一標識的主鍵。
然后由于name1與link1里面的內容按照各個加盟資源站不同的命名習慣,導致名字里中英文,數字以及特殊符號的表示十分復雜,所以選擇mixed類型作為字段類型
上面這樣手動編寫是為了能夠更清楚的看懂配置文件編寫的原則
實際上,官方提供了簡明易用的配置文件編寫工具:Ini文件設計輔助工具
這個只需要傻瓜化的選擇類型,填入字段名即可生成配置文件
生成好的文件,需要放入PHP-sdk中的/app文件夾,并且命名為與項目名稱相同 如下圖所示
最后一步就是建立索引啦 切換到php-sdk目錄下,我們以SQL數據庫作為數據源導入索引
util/Indexer.php --rebuild --source=mysql://user:passwd@localhost/database --sql="SELECT * FROM table" --project=projectname
user:數據庫的用戶名 passwd:數據庫密碼 database:數據庫名稱 table:存儲了需要索引的信息的數據表 projectname:上一步設置的項目名稱
我們再來測試一下搜索 能看到結果就說明測試部署完成了
之后我們就可以到之前安放了php-sdk的網站進行搜索了 (我這個是由大佬幫忙美化過的前端,實際上XunSearch自帶的前端有點丑)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/125887.html
摘要:用戶可以根據自身業務特點和需求,從中選擇相應的組件來搭建自己的大數據處理平臺。專業的技術支持大數據團隊積淀了多年公有云大數據運維和業務調優經驗,通過持續更新的知識庫,可以為用戶提供專家級的技術支持,解決大數據平臺使用和維護的后顧之憂。智能大數據平臺 USDPUCloud Smart Data Platform(簡稱 USDP),是 UCloud 推出的智能化、輕量級的大數據基礎服務平臺,通過...
痛點: 如今數字化轉型,已成為企業界的共識。 從信息時代走向數字時代,大家都希望在生產要素、經濟形態發生變革的節點抓住機遇不被淘汰,而絕大多數中小企業又沒有財力搞得太折騰太復雜。因此大家不要期待一口氣吃成胖子,而要抓住數字化時代的本質是讓企業線上的數據流動起來,解決數據的運力和流通問題,也就是數據消費。其實絕大多數企業的核心訴求也是打破數據孤島,提升數據共享消費的效率,進而實現企業的降本...
摘要:只需三步構建快準穩省的直播互動答題平臺視頻直播及網絡加速部署你只需準備一臺攝像機一臺電腦,然后對接青云直播推流服務器,配置部署終端,即刻開啟高清直播之旅,暢享超低延遲支持及優化推流協議,提供高速及分發網絡,實現低至毫秒的極致延遲。 今天,你答題了嗎?今天,你通關了嗎? 今天,你答題賺了多少錢? 直播答題市場不斷升溫,越來越多的玩家開始進入,1 月 18 日,新世相正式上線第一款以小程...
閱讀 3532·2023-04-25 20:09
閱讀 3736·2022-06-28 19:00
閱讀 3056·2022-06-28 19:00
閱讀 3075·2022-06-28 19:00
閱讀 3168·2022-06-28 19:00
閱讀 2874·2022-06-28 19:00
閱讀 3038·2022-06-28 19:00
閱讀 2632·2022-06-28 19:00