2012-09-11 46 views
0

對於房地產門戶網站,代理商記錄在任何特定日期有多少露天賓客出現。我試圖使用sphinx api來過濾名爲「open_house_guest_info」的獅身人面像索引中訪問次數最多的房屋,然後在帶有搜索詞的房屋介紹「房屋」的另一個獅身人面像索引中搜索這些房屋ID。斯芬克斯 - 篩選器索引,搜索另一全文

「open_house_guest_info」 指數:
日期,house_id,GUEST_COUNT

「房子」 指數:
house_id,house_intro

我知道如何使用MySQL做到這一點,但我米試圖與獅身人面像做到這一點。如何根據從「house_id」綁定的另一個索引過濾的屬性來搜索不同索引的文本?

回答

1

獅身人面像不能'JOIN'索引。你必須把所有的數據放在一個索引中。

構建索引的sql_query可以包含JOIN和GROUP BY等。由mysql執行以創建單個索引。

sql_query = SELECT g.id,house_id,house_intro,REPLACE(date,'-','') as date,COUNT(g.id) AS guests FROM houses h INNER JOIN open_house_guest_info g USING (house_id) GROUP BY date,house_id 

sql_attr_uint = house_id 
sql_attr_uint = date 
sql_attr_uint = guests 

然後可以過濾通過日期,house_id,或客人:) [在斯芬克斯查詢]

/組/順序