Join Solr-子查询
我需要做一个Solr子查询,如果是在MySQL中,它会是这样的:Join Solr-子查询,join,solr,subquery,Join,Solr,Subquery,我需要做一个Solr子查询,如果是在MySQL中,它会是这样的: SELECT * FROM solr_index WHERE type = 'person' AND city IN (SELECT name FROM solr_index WHERE name = 'London' AND type = 'city') 显然,Solr连接非常相似-。但这些似乎只在Solr4中可用。在Solr3.X中有什么方法可以做到这一点吗 理想情况下,这是一种与ComplexPhraseQueryPar
SELECT *
FROM solr_index
WHERE type = 'person' AND
city IN (SELECT name FROM solr_index WHERE name = 'London' AND type = 'city')
显然,Solr连接非常相似-。但这些似乎只在Solr4中可用。在Solr3.X中有什么方法可以做到这一点吗
理想情况下,这是一种与ComplexPhraseQueryParser兼容的方式,Solr PHP客户端或Solarium支持这种方式
非常感谢您的帮助
更新:
另一个与位置无关的示例:
SELECT *
FROM solr_index
WHERE type = 'project' AND
tag IN (SELECT name FROM solr_index WHERE name = 'Elephant' AND type = 'tag')
我会尝试过滤器查询和方面的不同变体。比如:
q=*:*
fq=(type:city AND name:london)
facet=true
facet.query=type:person
希望这对您有所帮助,祝您好运。自solr 3.4以来就有了加入。看看这个 试试这个
q=*:*&fq=city:london&fq=type:(city OR person)
最好是查看地理/空间特征,而不是基于字符串的位置信息搜索。谢谢你的回复。我需要在一些场景中使用此功能,而不仅仅是与位置相关。我添加了另一个示例来演示如何将其用于其他用途。人们通常将其模式非规范化(扁平化),以便不必进行连接。你的情况不可能吗?@pashgolpashgolian谢谢你的指点,修正了。显然Lucidworks已经更新了他们的博客,但还没有设置链接重定向。