我在SOLR 7.3中查询 嵌套对象 时遇到问题。
我想使用BLOCK JOIN获取所有父对象
curl http://localhost:8181/solr/prescriptions/query -d 'q={!parent which="contentType:parent"}*:*'
我的solrconfig.xml或managed-schema需要什么来获取上述查询以返回数据。
注意:如果我创建一个测试核心bin/solr create -c drugs
并将数据推入其中,它可以正常工作,我可以使用curl http://localhost:8181/solr/perscriptions/query -d 'q={!parent which="contentType:parent"}*:*
进行查询,所以这里缺少我的配置技能。
这里有更多细节
solrconfig.xml中
<requestHandler name="/query" class="solr.SearchHandler">
<lst name="defaults">
<str name="echoParams">explicit</str>
<str name="wt">json</str>
<str name="indent">true</str>
<str name="mm">100%</str>
<str name="defType">edismax</str>
<str name="q.op">AND</str>
<str name="df">allthengrams</str>
</lst>
我的数据示例
[
{
"id":"1111",
"contentType":"parent",
"npi":"1111111",
"practiceType":"PSYCHIATRY",
"_childDocuments_":[
{
"id":"1111111_10000",
"parentProviderId":"1111111",
"contentType":"prescription",
"productName":"HYDROXYZINE PAM"
},
{
"id":"1111111_10284",
"parentProviderId":"1111111",
"contentType":"prescription",
"productName":"NALTREXONE HCL"
}
}
]
这不返回数据
curl http://localhost:8181/solr/prescriptions/query -d 'q={!parent which="contentType:parent"}(id:1111)'
这会返回数据(注意我需要将块连接放在Filter Query中)。
curl http://localhost:8181/solr/prescriptions/query -d 'q=*&fq={!parent which="contentType:parent"}(id:1111)'