2010-05-21 36 views
1

在MySQL數據庫中我有不同類型的文檔:有些文檔內容,元鍵,描述,其他文檔有代碼,SKU編號,尺寸和品牌名稱等等。問題是,我必須在所有這些文檔中搜索一些內容,然後顯示一個頁面,其中結果將按照文檔類型進行分組,例如幫助頁面,博客帖子,項目......我不清楚如何實現獅身人面像索引:我想有一個索引來加速查詢,但由於不同的文檔有不同的結構 - 我如何對它們進行分組?我正在考慮將它們連接起來,但它感覺不對。建議獅身人面像索引方案

回答

1

Sphinx實際上並未返回文檔,連接與否,它返回已編制索引的項目或屬性的主鍵。在這裏,在sphinx.conf的這段代碼中,這裏的SQL用來構建一個索引。當隨後搜索索引時,將返回product.id,同時搜索text2search。

sql_query = SELECT id, CONCAT_WS(' ', field1, field2) as text2search FROM product 

如果您的文檔/產品駐留在同一個數據庫表中,這非常簡單。在給定主鍵時,您可以在數據庫端檢索並重新創建數據結構。

如果您在將每種類型映射到不同表格時在一個獅身人面像索引中將不同類型的項目編入索引,則會涉及更多一點。