php開發搜索引擎,php實現搜索的方式

本文目錄一覽:

php中如何使用sphinx搜索引擎

一. 安裝、配置

1.ubuntu安裝sphinx

如果沒有安裝aptitude ,需要先安裝 aptitude

2.配置

3.執行命令分詞,會在/var/lib/sphinxsearch/data/test1 目錄下生成一堆索引文件

sudo indexer -c /etc/sphinxsearch/sphinx.conf test1

test1為上述配置文件的index名字

4.命令行測試搜索

sudo search -c /etc/sphinxsearch/sphinx.conf google

二.在php中使用,安裝php、sphinx的依賴庫

安裝 aptitudeapt-get install aptitude

sudo aptitude install libsphinxclient-dev libsphinxclient-0.0.1 -y

2.安裝php sphinx的擴展

安裝 pecl

sudo apt-get install php-pear php5-dev

在安裝sphinx

sudo pecl install sphinx

3.在配置文件php.ini中添加sphinx的擴展,

我的php.ini文件為

sudo vim /etc/php5/fpm/php.ini

獲取自己的php.ini文件位置使用

php5-fpm -i|grep ini

添加:

extension=sphinx.so

4.重啟php5-fpm,查看php是否載入sphinx模塊

sudo /etc/init.d/php5-fpm restart              

5.將search程序運行在後台

sudo searchd -c /etc/sphinxsearch/sphinx.conf

默認監聽配置文件中的埠:9312

6.在thinkphp中調用搜索

搜索完畢,返回結果(默認返回20條,修改返回條數用添加 $s-SetLimits(0, 1000, 1000);),搜索速度相當快,索引80w條數據的title和description兩個欄位耗時不到10s,該搜索引擎支持增量索引,多種模式的搜索,網上的資料也非常多

擁有自己的搜索引擎

雖然現在已經很少人使用PC電腦去找資料了,但有時候還是不可避免要用到,當你搜索資料時你會發現現在的搜索引擎首先出現的是一大堆的廣告,是不是很煩。

現在就讓我們來安裝一個屬於自己的搜索引擎,不用買域名、不用買伺服器只需要你有一台PC電腦就可以了。

首先下載一個phpStudy2018.exe軟體(比較新的是這個phpStudy-x64-8.1.1.2.exe),用這個軟體來搭建一個運行PHP的伺服器平台。然後再下載一個開源的PhpSou搜索引擎(整合Sphinx) V3.1或其它你自己覺得合適的源碼。

安裝好phpStudy後,同時把PhpSou搜索引擎源碼複製到phpStudyPHPTutorialWWW,然後點擊 其它選項菜單-站點域名管理,網站域名填入127.0.0.1(這個ip地址就是我們等會打開搜索引擎要用到的)。網站目錄E:phpStudyPHPTutorialWWW(這個www是放你搜索引擎源碼的文件夾)

設置好後點擊新增-保存設置並生成配置文件,接下來就是運行配置搜索引擎了。點擊 其它選項菜單-My homePage(也可以在遊覽器地址欄直接輸入剛才設置的ip地址127.0.0.1)如果是第一次運行,按軟體要求設置資料庫名稱、密碼什麼的就可以了,然後進入PhpSou後台管理,按自己需要填好網站的基本設置.

這時資料庫是空的(有些源碼可能會帶有一些數據)我們要在常規數據管理這裡的網站管理、網址管理、網頁管理這三項都添加一些網址進去,然後點擊 網路爬蟲管理-抓取網站-開啟網路爬蟲或點擊 網路爬蟲管理-抓取網頁doang-開啟網路爬蟲

然後就會自動的不停的去抓取網址或者網頁了。

是不是很清爽,沒有了煩人的廣告,是不是很厲害。

其實說得這麼厲害,可惜對個人來說還是自娛自樂的性質。

如何用PHP製作搜索引擎

這樣看你做什麼樣的搜索,如果要做全站搜索的話,只用資料庫搜索做起來會比較困難,會遇到要檢索的數據存在不同的表中,甚至不同的庫中,如果是全站搜索的話,建議用sphinx或者lucener,如果只是某個表內容搜索的話,sql:select * from 表名 where 列名 like ‘%值%’ ;然後循環 mysql_fetch_array() 或 mysql_fetch_assoc() 或 mysql_fetch_object() 或 mysql_fetch_row()都取一行記錄,把記錄循環出來就可以了。

怎麼在網頁上用PHP做個搜索功能?

通過from表單,將查詢的關鍵詞,通過 like 跟數據進行模糊查詢對比\x0d\x0a從topics表中查詢欄位subject與傳進來的參數’$_POST[‘topic’]進行比較模糊查詢\x0d\x0a設subject欄位數據為:數學,英語,物理,化學,英文\x0d\x0a$subject=$_POST[‘topic’]; \x0d\x0a$sql = “select * from topics where subject like ‘%” .$subject. “%'”;\x0d\x0a$result = mysql_query($sql);\x0d\x0a若從表單提交的『topic』值為「學」,得到的結果將是:數學,化學\x0d\x0a多個欄位匹配查詢:\x0d\x0a$sql = “select id,subject from topics where (id like ‘%” .$id. “%’) or (name like ‘%” .$name. “%’) or (subject like ‘%” .$subject. “%’) order by id desc”;\x0d\x0a結果依據欄位id的順序

原創文章,作者:XYBJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147695.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XYBJ的頭像XYBJ
上一篇 2024-11-02 13:11
下一篇 2024-11-02 13:11

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python緩存圖片的處理方式

    本文將從多個方面詳細闡述Python緩存圖片的處理方式,包括緩存原理、緩存框架、緩存策略、緩存更新和緩存清除等方面。 一、緩存原理 緩存是一種提高應用程序性能的技術,在網路應用中流…

    編程 2025-04-29
  • Python調用搜索引擎

    本文主要介紹如何使用Python編程語言調用搜索引擎,實現自動檢索和提取數據等功能。 一、搜索引擎簡介 搜索引擎是指一種網站或程序,可以通過輸入關鍵詞,搜索並顯示相關網頁、圖片、視…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python在線編輯器的優勢與實現方式

    Python在線編輯器是Python語言愛好者的重要工具之一,它可以讓用戶方便快捷的在線編碼、調試和分享代碼,無需在本地安裝Python環境。本文將從多個方面對Python在線編輯…

    編程 2025-04-28
  • Java表單提交方式

    Java表單提交有兩種方式,分別是get和post。下面我們將從以下幾個方面詳細闡述這兩種方式。 一、get方式 1、什麼是get方式 在get方式下,表單的數據會以查詢字元串的形…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • 用Pythonic的方式編寫高效代碼

    Pythonic是一種編程哲學,它強調Python編程風格的簡單、清晰、優雅和明確。Python應該描述為一種語言而不是一種編程語言。Pythonic的編程方式不僅可以使我們在編碼…

    編程 2025-04-27
  • Java多版本支持實現方式

    本文將從以下幾個方面闡述如何實現Java多版本支持,並給出可行的代碼示例。 一、多版本Java環境概述 Java是一門跨平台的編程語言,但是在不同的應用場景下,可能需要使用不同版本…

    編程 2025-04-27

發表回復

登錄後才能評論