2010-07-21 22 views
2

我正在設置一個新的WordPress 3.0多站點實例,並希望在數據庫服務器上使用Sphinx來爲主網站提供動力。理想情況下,這個主要網站將提供根據其內容(帖子,頁面,評論,成員資料,活動更新等)以及作爲網絡一部分的所有其他網站進行搜索的能力。因爲我們會定期向網絡添加新網站,所以我希望能夠將這些新生成的表格動態添加到Sphinx .conf文件中(而不是每次添加新文件時都要編輯文件和重新編制索引現場)。配置獅身人面像來索引一組動態表格

不幸的是,MySQL doesn't seem to support wildcards when specifying the table(s)在查詢字符串中。 best solution I've come across for grabbing a dynamic set of tables is grepping但我很確定我不知道如何在.conf文件中執行此操作(除非通過魔法巫術可能)。

是否可以動態指定要添加到Sphinx索引的表?或者這會導致我使用錯誤工具的性能問題?

回答

0

您可以嘗試動態修改.conf文件。

0

您可以從MySQL視圖中查詢來聚合很多表。您必須重新創建視圖,並對博客列表進行每次更改,但我相信所有的鉤子都支持這一點,並且構建視圖查詢應該很容易。

更大的問題可能是試圖在Sphinx中爲帖子找到合適的唯一記錄ID。它必須是直接的INT,但來自不同博客的帖子ID會相互衝突。

0

我認爲你可以在感興趣的表(例如帖子,評論等)中的MySQL中創建觸發器(INSERT/UPDATE/DELETE),並將數據遷移到由Sphinx實時索引的集中式全局表。

問題是你如何自動創建這些觸發器?要麼你可以運行一個cron作業來掃描MySQL中的新表格,或者我相信你可以編寫一個簡單的WordPress插件,當博客被激活時它就會掛鉤。