在我的项目中,我们使用 solr 来索引许多不同类型的文档,例如 Books 和 Persons,其中包含一些常见字段(如名称)和一些特定类型的字段(如类别或人们所属的组) .
我们希望进行可以查找书籍和人员的查询,并为每种文档类型应用一些过滤器。就像是:
- 查找名称和/或内容中带有“Jean”的所有书籍和人物
- 但仅限于“小说”和“奇幻”类别的书籍
- 并且只有“穿山甲”组的人
- 一切按分数排序
一个非常简单的方法是:
q = name:jean content:jean
&
fq=
(type:book AND category:(fiction fantasy))
OR
(type:person AND group:pangolin)
但唉,就像fq
缓存一样,我更喜欢让我更简单、更可重用的东西,fq
比如:
fq=type:book
,fq=type:person
,fq=category(fiction fantasy)
,fq=group:pangolin
.
有没有办法告诉 solr 合并或组合许多查询?像“分组”fq
在一起的东西。
我用 阅读了一些关于嵌套查询的信息_query_
,但是关于它的极少文档让我认为这不是我正在寻找的解决方案。