在我的项目中,我们使用 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_,但是关于它的极少文档让我认为这不是我正在寻找的解决方案。