本文目錄一覽:
- 1、php中如何使用sphinx搜索引擎
- 2、開源 中文php搜索引擎有哪些
- 3、如何用PHP製作搜索引擎
- 4、用php怎樣實現一個文本搜索引擎
- 5、我用php做一個模糊搜索引擎,但是一旦mysql數據表數據多了,查詢速度就慢了,怎麼辦?
- 6、關於搜索功能那個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,該搜索引擎支持增量索引,多種模式的搜索,網上的資料也非常多
開源 中文php搜索引擎有哪些
某目前接觸到的只有lucene和coreseek了
lucene更多是用在java方面的,但是也可以和php結合起來用
coreseek和php結合使用比較好,官方文檔說的很詳細
君且自學自勉哇
如何用PHP製作搜索引擎
這樣看你做什麼樣的搜索,如果要做全站搜索的話,只用資料庫搜索做起來會比較困難,會遇到要檢索的數據存在不同的表中,甚至不同的庫中,如果是全站搜索的話,建議用sphinx或者lucener,如果只是某個表內容搜索的話,sql:select * from 表名 where 列名 like ‘%值%’ ;然後循環 mysql_fetch_array() 或 mysql_fetch_assoc() 或 mysql_fetch_object() 或 mysql_fetch_row()都取一行記錄,把記錄循環出來就可以了。
用php怎樣實現一個文本搜索引擎
什麼叫資料庫是用txt的??
搜索靜態網頁,可以直接用fopen,file之類函數打開文件,然後用字元串函數strstr等來查詢是否含有搜索關鍵字,最好是用字元串的一些函數,因為eregi等函數在這個問題上的效率要低的多
我用php做一個模糊搜索引擎,但是一旦mysql數據表數據多了,查詢速度就慢了,怎麼辦?
1.避免使用!=或<>、IS NULL或IS NOT NULL、IN ,NOT IN等這樣的操作符。
2.優化SQL語句(讓SQL語句更合理一些)。
3.優化資料庫欄位類型。(能用其他的盡量不要用VCHAR)
4.建立儲存過程。
關於搜索功能那個php代碼,能再詳細點嗎?
資料庫(mysql):一個資料庫(search),庫裡面一個表(title),表裡面一個欄位(name).
PHP頁面:兩個頁面(index.php
search.php)
第一步.創建資料庫.(目前大家應該都是用的phpmyadmin來操作資料庫的吧?)
建立一個資料庫.
第二步.建表
在剛建立的search資料庫里插入一個名字為title的表.建表時讓選插入幾個欄位.寫1就可以了.
第三步.建欄位
插入的欄位命名為name,長度值20就可以了.
—–資料庫部分已經做完,接下來是網頁部分—–
第四步.建立兩個頁面
建立兩個文件:index.php和search.php可以使用記事本等文本工具直接建立.我使用的工具是Dreamweaver(方便嘛.呵呵).
第五步.index.php的頁面製作.
這個頁面是用來傳遞你搜索的關鍵字的.代碼如下:
form method=」post」
action=」search.php」
name=」search」
input name=」search」 type=」text」 value=」”
size=」15″ input type=」submit」
value=」Search」
/form
這段代碼是建立一個FORM表單.專門用來提交數據的.
第一行是FORM表單的開始.它的傳遞方式是post,傳遞到search.php這個頁面.表單名為name.
第二行是文本域和提交按鈕.文本域命名為search,按鈕默認就可以了.
第三行是FORM表單的結束語句.
第五步.search.php的頁面製作.
這個頁面很關鍵.因為他是獲取index頁面傳遞過來的值,然後導出搜索的數據.
首先要綁定你建立的search資料庫,我用的DW生成的.
上一個頁面傳送的文本域是search.所以,這裡需要建立一個search變數.來接收你輸入的關鍵詞.用以下語句定義變數:
?php
$searchs = $_POST[‘search’];
?
然後建立一個記錄集,選擇高級.SQL語句中填寫:
SELECT *
FROM title
WHERE name like
『%$searchs%』
這句的意思是選擇title表裡面的所有欄位(*),然後查詢name中的$searchs變數。這個變數也就是你在index中輸入的值啦。
然後在BODY裡面綁定一個動態文本。選擇NAME。
原創文章,作者:QPUA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/141947.html