首页 文章

获取包含搜索结果的facet字段

提问于
浏览
0

我正在努力改进搜索,这是由我的电子商务项目的solr驱动的 . 因此,搜索查询将执行到Solr中,结果将由Solr返回 .

这工作正常 . 现在我需要在搜索结果上提供一个方面 . 第一个可以是类别,这很容易实现,因为Category对于所有产品都是通用的,在查询中我只是启用facet并将类别作为facet字段传递 .

然而,对于产品的不同性质,可能存在不同的产品,并且它们具有为它们定义的很少的方面 .

我很无能为力,因为我如何提前知道它们并在solr搜索查询中传递它? solr是否会通过某些查询以及搜索结果返回所有facet字段?如果有,怎么样?

如果不是,那么可能是进一步行进的正确方法 .

3 回答

  • 0

    传递要进行构面过滤的所有唯一构面字段名称,您将获得具有构面字段的所有记录 .

  • 0

    在构面查询搜索中定义所有静态字段名称,如果没有命中,则不会获得该字段的任何结果 .

  • 0

    Facet Field 中使用 facet.mincount=1 传递所有可能的字段(您需要刻面)...所以,您将只获得在solr数据中至少出现一次的字段

    http://<hostname>:<portname>/solr/<core_name>/select?q:<fieldname>:<value>&fq=<field_name>:<value>&fl=<field1>,<field2>,<fieldn>&start=0&rows=10&facet=true&facet.field=<field1>&facet.field=<field2>&facet.field=<fieldn>&facet.mincount=1
    

相关问题