Sphinx - 过滤一个索引,搜索另一个全文

时间:2012-09-11 22:58:45

标签: search indexing sphinx

对于房地产门户网站,代理商会记录每天有多少开放日客人出现。我正在尝试使用sphinx api来过滤一个名为“open_house_guest_info”的狮身人面像索引中访问次数最多的房屋,然后在另一个狮身人面像索引中搜索那些房屋ID,其中包含房屋介绍“房屋”,带有搜索字词。

“open_house_guest_info”索引:
date,house_id,guest_count

“房屋”指数:
house_id,house_intro

我知道如何使用MySQL,但我正在尝试使用Sphinx。如何根据从另一个与“house_id”绑定的索引过滤的属性搜索不同索引的文本?

1 个答案:

答案 0 :(得分:1)

狮身人面像不能'加入'索引。您必须将所有数据放在一个索引中。

构建索引的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或来宾过滤/分组/排序:) [在sphinx查询中]