【问题标题】:How do I search over multiple models in a CMS using Sphinx?如何使用 Sphinx 在 CMS 中搜索多个模型?
【发布时间】:2010-10-24 07:36:32
【问题描述】:

我正在尝试在我的 CMS 中使用 Sphinx 作为站点范围的搜索。由于 CMS 中的每个模型都有不同的全文字段,因此我为每个模型创建了一个索引。但是,根据 Sphinx 的forum,不支持搜索具有不同架构的多个索引。

CMS 人员如何使用 Sphinx 进行一般网站搜索?对每个模型执行对 Sphinx 的调用并跟踪分页偏移量?使用每个模型/字段的索引字段创建一个巨大的索引?还有其他我没有想到的解决方案吗?

【问题讨论】:

    标签: search content-management-system full-text-search sphinx


    【解决方案1】:

    你可能很久以前就解决了这个问题,但是好吧......

    您不能在一次调用 ->Query() 时覆盖具有不同 Schema 的多个索引,但 您可以执行 multiple queries with AddQuery() and RunQueries()

    所以,而不是调用

    ->Query( 'keywords' , ( 'schemaA', 'schemaB', 'schemaC' ) )
    

    你这样做:

    ->AddQuery('keywords' , ( 'schemaA') );
    ->AddQuery('keywords' , ( 'schemaB') );
    ->AddQuery('keywords' , ( 'schemaC') );
    ->RunQueries();
    

    您将获得一组结果,每个查询一个。然后在您的搜索结果页面中,您可以显示按“类型”(或架构)分隔的结果,例如:

    ___结果页______ em>_

    正在搜索“蓝色”...

    --- 我们在汽车中找到 23 个结果----

    • 汽车1
    • 汽车2
    • 汽车3
    • ..

    --- 我们在房屋中找到 2 个结果----

    • 房子 1
    • 房子 2
    • 房子 3
    • ..

    _(结束)结果页_____

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-27
      • 2019-12-14
      • 1970-01-01
      相关资源
      最近更新 更多