Я пытаюсь понять запросы solr вложенных запросов, но у меня проблема с выбором синтаксиса.Подставленные запросы Solr вложенные
Я следующие два индексированных документов (среди прочих):
<doc>
<str name="city">Guarulhos</str>
<str name="name">Fulano Silva</str>
</doc>
<doc>
<str name="city">Fortaleza</str>
<str name="name">Fulano Cardoso Silva</str>
</doc>
Если я запросить q="Fulano Silva"~2&defType=edismax&qf=name&fl=score
у меня есть:
<doc>
<float name="score">28.038431</float>
<str name="city">Guarulhos</str>
<str name="name">Fulano Silva</str>
</doc>
<doc>
<float name="score">19.826164</float>
<str name="city">Fortaleza</str>
<str name="name">Fulano Cardoso Silva</str>
</doc>
Так что я подумал, что если я запрашиваются:
q="Fulano Silva"~2 AND __query__="{!edismax qf=city}fortaleza" &defType=edismax&qf=name&fl=score
Я бы дал немного больше баллов за второй документ, но на самом деле я получаю пустой набор результатов с numFound = 0.
Что я здесь делаю неправильно?
добавить debugQuery = true в параметры запроса и просмотреть расширенную информацию. BTW, space before & defType выглядит подозрительно. –
Что такое тип города? Это solr.StrField или solr.TextField? – rchukh
Вы когда-нибудь это выясняли? –