2011-12-15 213 views
1

我有一個設置,用戶可以在表中存儲「規則」,然後他們可以根據這些規則匹配新產品。Mysql搜索引擎

例如,他們可以存儲一個名稱爲「紅番茄」的規則,如果他們創建了一個名爲「紅番茄」的新產品,系統將自動查找規則,並將「紅番茄'統治新產品。

目前,這是超級簡單,如下通過查詢執行:

SELECT * FROM (`rules`) WHERE `rule` like '%red tomato%' LIMIT 1 

我想借此下一步,給用戶在搜索是如何更靈活執行。例如,我想創建一個名爲'番茄'的規則,這可以匹配以下任何搜索字詞:'番茄','紅番茄'或'綠番茄'。

什麼是最好的方法呢?

回答

0

我覺得像Lucene這樣的東西比關係數據庫更適合這個任務。

+0

solr也許?更容易 – malletjo 2011-12-15 20:27:54

1

這聽起來像是你正試圖實施分類法,然後根據產品與之相關的項目而發生事情。

推薦一些東西很難,因爲我不確定你現在有什麼樣的系統。我知道Drupal做分類學得很好,而且已經有建,你可以用你的內容項目(產品)

創建分類整合如果是定製的路線,你可以用CodeIgniter建立的東西非常快一個規則體系,它將更加可定製。

解釋您現在正在使用的內容會有所幫助,並允許更具體的答案。

0

你想做什麼,可以通過實現一個令牌字典,標記規則來完成。通過這種方式,您可以在比較產品名稱的標記和每個規則標記之後,創建一個表來存儲產品和規則之間的關聯。