Solr join返回零结果

问题描述 投票:1回答:1

我正在使用Solr 6.4.2。我已经定义了2个核心:

  • 公司,字段'Id,Town,Name,Type,ManagerId'
  • 用户,包含“Id,Login,ManagerId,Email”字段

在用户核心中,字段ManagerId是父子关系(ManagerId-> Id)。

公司和用户由companies.ManagerId-> users.Id相关

我正在尝试构建一个非常简单的连接查询:

{!join from=ManagerId to=Id fromIndex=users}Login:someuser1

网址看起来像:

?q=*:*&fq={!join%20from=ManagerId%20to=Id%20fromIndex=users}Login:someuser1

什么都行不通,我总是得到零结果。我只是想了解Solr如何加入。在我看来,Solr连接和SQL连接之间的理解存在很大差异。

事实上我想做的问题如下:

  • 按公司类型获取用户的所有文档
  • 由用户经理获取公司

现在,无论我如何编写连接查询,我总是得到零结果。

solr lucene
1个回答
0
投票

在公司核心上试试这个(假设你希望得到所有公司由某个经理登录运行):

  • login:someuser1是你放在子表上的过滤条件,这应该是你正在寻找的经理登录
  • from=ManagerId应该是子表上的id,所以这是错误的
  • to=id是父表上与子表相关的字段,因此这是错误的
  • fromIndex是子表,这是正确的 {!join from=ManagerId to=Id fromIndex=users}Login:someuser1
© www.soinside.com 2019 - 2024. All rights reserved.