Solr 6.6-按第一个字符查找和分组查询

时间:2019-03-15 10:19:18

标签: solr

我们的任务是按相关城市名称查找帖子,并按城市名称(包括城市)分组结果。帖子数。

在我们的位置字段中,我们有一个或多个以逗号分隔的城市名称:

柏林,法兰克福,..

<field name="location" type="text" indexed="true" stored="true"/>

我们必须仅以第一个字符为例寻找位置

f(小写):法兰克福(大写)-1200个帖子,弗莱堡-690个帖子,...

在我们的php / CakePHP代码中,我们有http查询bulider,如:

    $fq = sprintf('location:%s*', mb_strtoupper($char));

    $getResponse = $http->get($solrUrl, [
        'facet.pivot' => 'location',
        'facet.sort' => 'count',
        'facet.limit' => 10000,
        'facet.offset' => 0,
        'facet' => 'true',
        'facet.pivot.mincount' => 5,
        'indent' => 'on',
        'fq'=> $fq,
        'wt' => 'json'
    ]);

响应:

[
    'error' => [
        'metadata' => [
            (int) 0 => 'error-class',
            (int) 1 => 'org.apache.solr.common.SolrException',
            (int) 2 => 'root-error-class',
            (int) 3 => 'org.apache.solr.common.SolrException'
        ],
        'msg' => 'analyzer returned no terms for multiTerm term: F',
        'code' => (int) 400
    ]
]

如何为我们的任务创建正确的查询?

0 个答案:

没有答案