我正在努力改进搜索,这是由我的电子商务项目的solr驱动的 . 因此,搜索查询将执行到Solr中,结果将由Solr返回 .
这工作正常 . 现在我需要在搜索结果上提供一个方面 . 第一个可以是类别,这很容易实现,因为Category对于所有产品都是通用的,在查询中我只是启用facet并将类别作为facet字段传递 .
然而,对于产品的不同性质,可能存在不同的产品,并且它们具有为它们定义的很少的方面 .
我很无能为力,因为我如何提前知道它们并在solr搜索查询中传递它? solr是否会通过某些查询以及搜索结果返回所有facet字段?如果有,怎么样?
如果不是,那么可能是进一步行进的正确方法 .
3 回答
传递要进行构面过滤的所有唯一构面字段名称,您将获得具有构面字段的所有记录 .
在构面查询搜索中定义所有静态字段名称,如果没有命中,则不会获得该字段的任何结果 .
在
Facet Field
中使用facet.mincount=1
传递所有可能的字段(您需要刻面)...所以,您将只获得在solr数据中至少出现一次的字段