[英]solr: how to join three cores?
我正在嘗試根據兩個相關內核上的條件在一個內核上進行查詢,但沒有得到任何結果。 每個單獨的連接都可以正常工作。
如何基於兩個核心來表達要聯接的查詢?
在SQL世界中,這稱為具有三個表的內部聯接以獲取交集。
SQL對應項:
SELECT *
FROM proddev
INNER JOIN department ON HMProductDevelopmentDepartment==id
INNER JOIN season ON HMProductDevelopmentSeason==id
我正在運行solr-7.3.1。 查詢在http:// localhost:8983 / solr /#/ proddev / query中執行
{!join from=id fromIndex=season to=HMProductDevelopmentSeason}name:"8-2018" AND _query_ {!join from=id fromIndex=department to=HMProductDevelopmentDepartment}DepartmentNumber:6515
主表:proddev
{
"id":"48352.32064.2208.65165",
"name":["0439370D"],
"HMProductDevelopmentDepartment":["48352.32064.61248.42035"],
"HMProductDevelopmentSeason":["48352.32064.24988.33959"],
"HMCandidateForFileSync":[" FALSE "],
"PublishedDate":[" 11/14/2017 11:29:25 AM "],
...
}
相關核心:季節
{
"id":"48352.32064.24988.33959",
"name":["8-2018"],
"_version_":1611866808030068736,
"name_str":["8-2018"]}]
}
相關核心:部門
{
"id":"48352.32064.61248.42035",
"name":["448"],
"DepartmentNumber":[" 6515"],
"_version_":1611923411375751168,
"name_str":["448"],
"DepartmentNumber_str":[" 6515"]}]
}
調試響應:
"responseHeader":{
"status":0,
"QTime":1,
"params":{
"q":"{!join from=id fromIndex=season to=HMProductDevelopmentSeason}name:\"8-2018\" AND _query_ {!join from=id fromIndex=department to=HMProductDevelopmentDepartment}DepartmentNumber:6515",
"debugQuery":"on",
"_":"1537194871447"}},
"response":{"numFound":0,"start":0,"docs":[]
},
"debug":{
"rawquerystring":"{!join from=id fromIndex=season to=HMProductDevelopmentSeason}name:\"8-2018\" AND _query_ {!join from=id fromIndex=department to=HMProductDevelopmentDepartment}DepartmentNumber:6515",
"querystring":"{!join from=id fromIndex=season to=HMProductDevelopmentSeason}name:\"8-2018\" AND _query_ {!join from=id fromIndex=department to=HMProductDevelopmentDepartment}DepartmentNumber:6515",
"parsedquery":"JoinQuery({!join from=id to=HMProductDevelopmentSeason fromIndex=season}+name:\"8 2018\" +_text_:_query_ {!join from=id to=HMProductDevelopmentDepartment fromIndex=department}DepartmentNumber:6515)",
"parsedquery_toString":"{!join from=id to=HMProductDevelopmentSeason fromIndex=season}+name:\"8 2018\" +_text_:_query_ {!join from=id to=HMProductDevelopmentDepartment fromIndex=department}DepartmentNumber:6515",
"explain":{},
如果要使用嵌套查詢,則應糾正查詢中的錯誤。 固定查詢:
{!join from=id fromIndex=season to=HMProductDevelopmentSeason}name:"8-2018" AND _query_:"{!join from=id fromIndex=department to=HMProductDevelopmentDepartment}DepartmentNumber:6515"
或者,您可以使用過濾器查詢進行第二次聯接。
鏈接:
https://lucidworks.com/2009/03/31/nested-queries-in-solr/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.