[英]Sphinx search query by PDO
$dsn="mysql:host=127.0.0.1; dbname=test; charset=utf8;";
$username="member";
$password="";
$options = array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8');
$db=new PDO($dsn, $username, $password, $options);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE);
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$query=$db->prepare("
SELECT *
FROM test WHERE MATCH (name, location) AGAINST (:search IN BOOLEAN MODE)
LIMIT 0, 10
");
$query->bindValue(':search', $search, PDO::PARAM_STR);
$query->execute();
while($data=$query->fetch(PDO::FETCH_ASSOC)){
}
我有一個使用PDO進行全文搜索的mysql查詢,我目前正在安裝sphinx搜索。
我的問題是如何通過使用PHP PDO查詢Sphinx搜索索引並從Mysql中獲取數據?
您需要兩個PDO連接。 一個到SphinxSearch Server(sphinx會說SphinxQL,它是與mysql兼容的二進制協議,因此適用於PDO)。 另一個是Mysql Server。
通過SPhinx onnections運行SphinxQL查詢。 獲取ID列表。
將該ID列表插入MySQL查詢 - 以獲取實際的行數據。 使用IN(..)過濾功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.