sphinx coreseek 多字段进行and查询

数据库表中有一个type_id(分类id) 和一个keyword(关键词)

搜索的时候需要先根据分类id进行搜索,比如搜索blog类别下的含有a的数据

针对这样的需求可以使用 

PHP代码:

$cl->SetSortMode ( SPH_SORT_ATTR_DESC, 'pic_id' ); // 按照pic_id 从大到小排序

$cl->SetFilter ( 'type_id', $type_id ); // 只搜索type_id 为 $type_id的值

sphinx配置代码:mysql.conf

...
sql_query = SELECT pic_id, title, content, \
        type_id, keyword FROM my_forum_posts
sql_attr_uint = pic_id
sql_attr_uint = type_id
...


这样shpinx会先把type_id 不等于 $type_id的数据都过滤掉,然后再从剩下的数据中搜索包含关键词的数据。



你可能感兴趣的:(sphinx coreseek 多字段进行and查询)