Join 需要帮助将SQL查询转换为Solr查询吗
请帮助我将下面的SQL查询转换为Solr查询Join 需要帮助将SQL查询转换为Solr查询吗,join,solr,Join,Solr,请帮助我将下面的SQL查询转换为Solr查询 SELECT PolicyNumber,EndorsementNumber FROM Policy_Core a WHERE AgencyCode = '500' AND PolicyNumber = 5201070001753 AND EndorsementNumber = (SELECT MAX (EndorsementNumber) FROM Policy_Core b
SELECT PolicyNumber,EndorsementNumber
FROM Policy_Core a
WHERE AgencyCode = '500'
AND PolicyNumber = 5201070001753
AND EndorsementNumber = (SELECT MAX (EndorsementNumber)
FROM Policy_Core b
WHERE a.PolicyNumber = b.PolicyNumber).
http://localhost:8983/solr/db/select?q=PolicyNumber:5201070001753 AND AgencyCode:500 &fq={!collapse field=PolicyNumber max=EndorsementNumber}
我在Solr服务器中有一个核心,具有以下结构
id (Unique ID) PolicyNumber(Number), EndorsementNumber(Number), AgencyCode(Number)
5201070001753-1 5201070001753 ,1 ,500
5201070001753-2 5201070001753 ,2 ,500
5201070001753-3 5201070001753 ,3 ,500
5201070001753-4 5201070001753 ,4 ,100
5201070001753-5 5201070001753 ,5 ,100
我已准备好以下Solr查询
SELECT PolicyNumber,EndorsementNumber
FROM Policy_Core a
WHERE AgencyCode = '500'
AND PolicyNumber = 5201070001753
AND EndorsementNumber = (SELECT MAX (EndorsementNumber)
FROM Policy_Core b
WHERE a.PolicyNumber = b.PolicyNumber).
http://localhost:8983/solr/db/select?q=PolicyNumber:5201070001753 AND AgencyCode:500 &fq={!collapse field=PolicyNumber max=EndorsementNumber}
这将返回错误的结果(因为它正在进行结果分组)。根据在core中定义的记录,我希望结果为空/无,但我得到了一条背书编号为3的记录。
Solr执行以下查询。我需要帮助创建Solr查询以将策略核心与其自身连接起来,从而获得PolicyNumber的最大背书编号
SELECT PolicyNumber,EndorsementNumber
FROM Policy_Core a
WHERE AgencyCode = '500'
AND PolicyNumber = 5201070001753
GROUP BY PolicyNumber,EndorsementNumber HAVING EndorsementNumber = MAX(EndorsementNumber)
假设
EndorsementNumber
是一个数字字段-例如-我认为您可以使用和查询参数获得所需的答案。以下查询应该可以工作:
http://localhost:8983/solr/db/select?q=PolicyNumber:5201070001753 和代理代码:500&sort=背书编号描述&rows=1
这会给你
id (Unique ID) PolicyNumber(Number), EndorsementNumber(Number), AgencyCode(Number)
5201070001753-5 5201070001753 ,5 ,100
你看过这个链接了吗?检查“与SQL进行比较”部分