簡體   English   中英

PDO的Sphinx搜索查詢

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM