我想将Solr连接查询与常规查询结合起来。举个例子,假设我想在Jyväskylä(芬兰)找到所有卖指南书的商店。如果商店的文档包含字段city
和productIds
,并且产品文档在我的索引中包含字段productType
和productId
,我希望这样的内容可以使用:
{!join from=productIds to=productId}productType:"guide book" city:Jyväskylä
但是,联接查询是一种特殊的LocalParams,它们对整个查询都有效。因此,此查询会选择包含productType=guide book
和city=Jyväskylä
的文档,这没有任何意义。
更糟糕的是,假设我想寻找带有指南书的商店,这些商店位于人口超过1000人的城市。我需要两个连接(选择产品和城市)。
当然,我可以将其拆分为查询(q
)和过滤查询(fq
),但这限制了我两种查询(因此,一个常规查询和一个查询加入查询或两个连接),更重要的是滥用查询和过滤查询的概念。
我的问题是:如何组合常规查询和联接查询以及如何进行多个联接查询?
答案 0 :(得分:0)
我想我已经知道了:可以有多个过滤查询,每个过滤查询都有自己的join
子句。 Solr的管理界面不允许您在fq
字段中输入多个查询,但可以通过"原始查询参数"字段。
我不确定这是多么有效率。