Solr join返回零结果
我使用的是Solr6.4.2。我定义了两个核心:Solr join返回零结果,solr,lucene,Solr,Lucene,我使用的是Solr6.4.2。我定义了两个核心: 公司,字段为“Id、城镇、名称、类型、经理Id” 用户,带有“Id、登录、ManagerId、电子邮件”字段 在users core中,ManagerId字段是父子关系(ManagerId->Id) 公司和用户通过companys.ManagerId->users.Id关联 我正在尝试构建一个非常简单的连接查询: {!join from=ManagerId to=Id fromIndex=users}Login:someuser1 url看
- 公司,字段为“Id、城镇、名称、类型、经理Id”
- 用户,带有“Id、登录、ManagerId、电子邮件”字段
{!join from=ManagerId to=Id fromIndex=users}Login:someuser1
url看起来像:
?q=*:*&fq={!join%20from=ManagerId%20to=Id%20fromIndex=users}Login:someuser1
什么都不管用,我总是得不到任何结果。我只是想了解Solr join是如何工作的。在我看来,对Solr连接和SQL连接的理解有很大的不同
事实上,我想进行如下查询:
- 按公司类型从用户处获取所有文档
- 通过用户经理获取公司信息
现在,无论我如何编写加入查询,我总是得到零结果。在公司核心上尝试此操作(假设您希望通过某个经理登录名运行“获取所有公司”):
是您在子表上设置的筛选条件,这应该是您要查找的经理登录名login:someuser1
应该是子表上的id,因此这是错误的from=ManagerId
是父表上与子表相关的字段,因此这是错误的to=id
是子表,这是正确的fromIndex
{!join from=ManagerId to=Id fromIndex=users}Login:someuser1
是您在子表上设置的筛选条件,这应该是您要查找的经理登录名login:someuser1
应该是子表上的id,因此这是错误的from=ManagerId
是父表上与子表相关的字段,因此这是错误的to=id
是子表,这是正确的fromIndex
{!join from=ManagerId to=Id fromIndex=users}Login:someuser1