我只想将块连接查询和主查询与 edismax-parser 结合起来,就像我为 solr < 7.2 所做的那样
berlin OR _query_:"{!parent which=type:book}page_content:berlin"
Run Code Online (Sandbox Code Playgroud)
但 edismax 不能再成为用于此目的的默认解析器(s. https://issues.apache.org/jira/browse/SOLR-11501)
因此它可以与 lucene-QueryParser 一起使用来查询父级:
q={!parent which="type:book"}{!edismax qf='page_content' v='berlin'}
Run Code Online (Sandbox Code Playgroud)
它仍然适用于添加主查询,例如
q=title:berlin* AND {!parent which="type:book"}{!edismax qf='page_content' v='berlin'}
Run Code Online (Sandbox Code Playgroud)
但当我尝试时
q={!edismax qf='title' v='berlin'} OR {!parent which="type:book"}{!edismax qf='page_content' v='berlin'}
Run Code Online (Sandbox Code Playgroud)
仅评估查询的第一部分。
我的文档是:
<add>
<doc>
<field name="id">1</field>
<field name="type">book</field>
<field name="title">Book about Berlin</field>
<field name="pages">
<doc>
<field name="id">11</field>
<field name="type">page</field>
<field name="page_content">berlin in winter</field>
</doc>
<doc>
<field name="id">12</field>
<field name="type">page</field>
<field name="page_content">berlin in spring</field>
</doc>
<doc>
<field name="id">13</field>
<field name="type">page</field>
<field name="page_content">berlin …Run Code Online (Sandbox Code Playgroud)