使用具有同一字段的多个值的日光浴室在 solr 中进行分面搜索

Faceted search in solr using solarium with multiple values of the same field

我在 solr 中索引我的数据以及与它关联的社区相关的 id。

例如,这些是我搜索特定查询时获得的博客,但我想根据社区 ID 进一步过滤它们:-

Blog1- Community id :1
Blog2- Community id :2
Blog3- Community id :1
Blog4- Community id :3

我想获取社区 ID 1 和 2 的博客

我已经按照这个模式尝试了很多迭代

$query->createFilterQuery('community')->setQuery('community:'.$community[1].' OR'.'community:'.$community[0]);

此处社区[1]=1 和社区[0]=2

有没有人知道做这件事的具体格式。我正在使用日光浴室与 solr 交互。

范围对我不起作用,因为我可能同时寻找 ID 1 和 3

如果我必须编写查询来查找那些 ID 为 1 或 3 的记录,那么我的查询将是

q=:&fq=community_id:(1 3)&fl=blogs,community_id

& 默认情况下过滤器是 OR,所以我没有在查询中提到它。

我不知道日光浴室,但你可以试试:

$query->createFilterQuery('community')->setQuery('community:('.$community[1].' '.$community[0].')');

我希望这能奏效,我又不知道日光浴室,但是从上面的 solr 查询你可以猜一猜。