【问题标题】:solr with pf and qf search togethersolr 与 pf 和 qf 一起搜索
【发布时间】:2016-08-03 06:04:54
【问题描述】:

我正在使用 php solr 扩展以及如何在 solr 中进行搜索,如下所示:

        $dismaxQuery = new SolrDisMaxQuery($search);
    $dismaxQuery
        ->addQueryField("fundraise_title", 10)
        ->addQueryField("fundraiser_display_name", 10)

        ->setPhraseFields("fundraiseTitleExact~2^10 fundraiserDisplayNameExact~2^10");

这将返回以下响应标头:

[params] => SolrObject Object
    (
        [pf] => fundraiseTitleExact~2^10 fundraiserDisplayNameExact~2^10
        [fl] => frpId,fundraise_title
        [indent] => on
        [q] => The Nest
        [qf] => fundraise_title^10 fundraiser_display_name^10
        [wt] => xml
        [hl] => true
        [defType] => edismax
        [version] => 2.2
    )

但是在进行搜索时,似乎只对 qf 查询进行了搜索,而忽略了 pf 查询;知道如何使这项工作协同工作吗?

solr 输入:

params={pf=fundraiseTitleExact~2^10+fundraiserDisplayNameExact~2^10&fl=frpId,fundraise_title&indent=on&q=The+Nest&qf=fundraise_title^10+fundraiser_display_name^10&wt=xml&hl=true&defType=edismax&version=2.2}

【问题讨论】:

    标签: php apache solr


    【解决方案1】:

    这是正常的预期行为:

    qf 是查询字段,表示这些字段用于对它们进行搜索。

    pf 是一个短语字段,它只会提升你从 qf 获得的结果,这就是为什么你可能认为它们被忽略了。

    来自 Solr 文档:

    pf(短语字段)参数。一旦匹配文件列表 已使用 fq 和 qf 参数、pf 参数识别 可用于“提高”文档分数 q 参数中的项非常接近。格式是 与 qf 参数使用的相同:字段列表和 在进行短语查询时与它们中的每一个相关联的“提升” 整个 q 参数。

    【讨论】:

    • 好的,现在我明白了一点,但仍然不清楚的是以下情况下的行为: 1 我在 qf 参与者Fname 字段中,我在 pf 中使用字段参与者FnameExact。你能给我一个具体的工作例子和解释吗?谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 1970-01-01
    • 1970-01-01
    • 2017-03-11
    • 2023-03-25
    • 1970-01-01
    • 2011-03-21
    相关资源
    最近更新 更多