0

我已经设置了 sphinx 并且可以使用 php api 执行搜索。但我有两个问题。

  1. 在这个测试数据库中,我有许多产品,每个产品都有一个类别 ID。我将如何创建过滤功能,以便搜索后的用户只能从特定类别中检索结果。也就是说,首先我搜索汽车并获得 10 个匹配项,然后我选择福特类别并仅获得 3 个匹配项,即具有福特类别的汽车。

  2. 我对 sphinx 是搜索我的索引还是直接搜索 db 感到有点困惑。我以为它搜索了索引,但后来我更改了数据库中的一个文本并在没有重新索引的情况下进行了搜索,我对文本所做的更改显示在结果中。

一如既往,非常感谢所有帮助!

4

1 回答 1

0

要创建过滤器,您必须将属性添加到数据源(不要忘记在 SQL 查询中选择它 SELECT category_id, ...):

sql_attr_uint = category_id

然后你就可以从你的 PHP 代码中添加一个过滤器:

$s->SetFilter('category_id', array(43));

对于第二个问题,您需要运行索引器来更新数据。

于 2012-09-24T18:45:56.653 回答