如何在solr中使用join以从两个核心中获得结果?
我有两个核心: 核心1:书号、地点、标题、作者、出版日期 核心2:BookID、文本、引用、大小、上次更新 {!加入%20from=PaperID%20to=fileName%20fromIndex=core2%20}大小:15870 上述查询返回零个结果,如下所示:如何在solr中使用join以从两个核心中获得结果?,join,solr,solrj,solrcloud,Join,Solr,Solrj,Solrcloud,我有两个核心: 核心1:书号、地点、标题、作者、出版日期 核心2:BookID、文本、引用、大小、上次更新 {!加入%20from=PaperID%20to=fileName%20fromIndex=core2%20}大小:15870 上述查询返回零个结果,如下所示: <response> <lst name="responseHeader"> <int name="status">0</int> <int na
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">0</int>
<lst name="params">
<str name="q">{!join from=PaperID to=fileName fromIndex=PapersIndex }size:15870</str>
<str name="fl">Title, Venue</str>
</lst>
</lst>
<result name="response" numFound="0" start="0" />
</response>
0
0
{!将from=PaperID连接到=fileName fromIndex=PapersIndex}大小:15870
标题、地点
我不知道solr连接是如何工作的。为什么它会给出零结果?Solr中的联接不能从两侧返回结果。将连接视为“通过从不同的核心进行匹配来过滤结果”(即常规SQL中的内部连接) 您的示例给出零结果的原因可能是因为您将一个核心的ID与另一个核心的大小合并。您希望根据ID(即两个核心中的公共ID)加入ID 但您仍然只能从单个核心/集合返回数据
解决方案通常是将所有内容索引到同一个核心中,尽管支持使用流式表达式(其中每个结果都返回,然后从两个游标连接)与来自双方的数据进行连接,但是我不建议您从头开始就将查询和索引设计建立在这个基础上。Solr中的连接不能从双方返回结果。将连接视为“通过从不同的核心进行匹配来过滤结果”(即常规SQL中的内部连接) 您的示例给出零结果的原因可能是因为您将一个核心的ID与另一个核心的大小合并。您希望根据ID(即两个核心中的公共ID)加入ID 但您仍然只能从单个核心/集合返回数据
解决方案通常是将所有内容索引到同一个核心中,尽管支持使用流式表达式(其中每个结果都返回,然后从两个游标连接)与来自双方的数据进行连接,但我不建议您从头开始将查询和索引设计基于此。解决了。。。pretty simple尝试了以下查询:
http://localhost:8983/solr/core/select?q=*:*&%20fl=%20Title,Year&fq={!join%20from=BookID%20fromIndex=core2%20to=BookID}Year:2000
您可以根据基于第二个核心的某些条件从第一个核心获取字段
就像我需要从core1中找到
field1,field2,…fieldn
,其中core2.field=“something”
解决了。。。pretty simple尝试了以下查询:
http://localhost:8983/solr/core/select?q=*:*&%20fl=%20Title,Year&fq={!join%20from=BookID%20fromIndex=core2%20to=BookID}Year:2000
您可以根据基于第二个核心的某些条件从第一个核心获取字段
就像我需要来自core1的
field1,field2,…fieldn
,其中core2.field=“something”
@MatsLindh感谢您的指导。。。实际上,在上面的查询中,我将ID与ID进行比较。大小是第二个核心的条件和字段。我需要第一个核心的结果,基于第二个核心的条件,返回第一个核心的一些属性,其中大小为15870。其中大小是第二个核心的字段。@MatsLindh感谢您的指导。。。实际上,在上面的查询中,我将ID与ID进行比较。大小是第二个核心的条件和字段。我需要第一个核心的结果,基于第二个核心的条件,返回第一个核心的一些属性,其中大小为15870。其中,size是第二个核心的字段。