2
我拼命嘗試用PHP,mySQL和PDO創建一個相對簡潔的搜索引擎。我有一個書籍數據庫,我試圖查詢兩個字段的搜索。這是我到目前爲止:具有相關性的PHP PDO搜索引擎
"SELECT id, title, author, isbn, MATCH(title, isbn) AGAINST (:term) AS score FROM %sbooks WHERE MATCH(title, isbn) AGAINST (:term) AND is_active = 'y' ORDER BY score DESC LIMIT 0,25");
$sth->execute(array(':term'=>'+'.$keywords));
$關鍵字是從搜索字段的字符串,所以可能是'某種書'的東西。
我不想過濾掉任何單詞或做任何太花哨的事情,但上面的查詢忽略了很多結果,即使我把它放在布爾模式中。
另外,我在數據庫中有兩本書,'書號1'和'書號2'。如果我搜索'第二冊',那麼它仍然會將'第一冊'分數提高。然而,主要的問題是,很多的搜索只是沒有結果:(
反正能幫助建議什麼,我做錯了什麼?
我可以通過PHP更改每個查詢基礎的最小單詞嗎?我有MySQL 5,但不幸的是沒有訪問配置文件。 – Hanpan 2010-02-10 09:38:14
不,每個查詢都是不可能的。僅限每臺服務器。 – 2010-02-10 09:50:12