Допустим, у меня есть следующие документы в Solr 6.4.2.
<doc>
<field name="id">1</field>
<field name="solr_record_type">1</field>
<field name="title">Fabulous Book</field>
<field name="author">Angelo Author</field>
<doc>
<field name="id">1-1</field>
<field name="solr_record_type">2</field>
<field name="contributor_name">Polly Math</field>
<field name="contributor_type">3</field>
</doc>
</doc>
<doc>
<field name="id">2</field>
<field name="solr_record_type">1</field>
<field name="title">Wonderful Book</field>
<field name="author">Andrew Author</field>
<doc>
<field name="id">2-1</field>
<field name="solr_record_type">2</field>
<field name="contributor_name">Polly Math</field>
<field name="contributor_type">4</field>
</doc>
<doc>
<field name="id">2-2</field>
<field name="solr_record_type">2</field>
<field name="contributor_name">Carlos Composer</field>
<field name="contributor_type">3</field>
</doc>
</doc>
Я хочу вернуть документ, который имеет дочерний документ с Polly Math в качестве contributor_name и 3 в качестве contributor_type.contributor_name - это текстовое поле, которое я также индексирую в фонетическом поле, но contributor_type - это просто целое число.
Следующие параметры запроса возвращают обе записи и не ограничивают тип участника:
q={!parent which="solr_record_type:1" v=$q_composer_name}
q_composer_name=_query_:"{!dismax qf=\"contributor_name^2.0 contributor_name_phonetic^2.0\" pf=\"contributor_name^2.0 contributor_name_phonetic^2.0\" tie=0.05}Polly"
fl=*,[child parentFilter="solr_record_type:1"]
Как мне обновить этот запрос, чтобы я возвращал запись с id = 1, а не запись с id = 2?