Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Join 需要帮助将SQL查询转换为Solr查询吗_Join_Solr - Fatal编程技术网

Join 需要帮助将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

请帮助我将下面的SQL查询转换为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}
我在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进行比较”部分