Я использую solr для поиска набора данных по имени (например, «Дэн» или «Джо Смит»). Я хотел бы вернуть результаты, указанные в запросе (изменить: с подстановочным знаком в конце) в порядке, указанном другим индексированным полем double_score (например, 10.0 или 72.3). В настоящее время у меня есть следующее, что вообще не работает:
<!-- Note that the default search is on the field name -->
<requestHandler name="/scoresearch" class="solr.SearchHandler" default="true">
<!-- <lst name="invariants">
<str name="q">{!boost b=sum(double_score) defType=dismax v=$qq}</str>
</lst> -->
<lst name="defaults">
<str name="defType">dismax</str>
<str name="echoParams">explicit</str>
<int name="rows">10</int>
<!-- <str name="qq"></str> -->
<str name="qf">double_score</str>
<str name="debug">true</str>
<str name="q.alt">*:*</str>
</lst>
</requestHandler>
Если я удалю комментарии, то поиск работает s.t. любой запрос, который я делаю, заменяется q.alt, а затем увеличивается значением double_score. Если бы это не заменило q.alt, это был бы желаемый эффект.
Также обратите внимание, что, хотя я еще не углублялся в более интересные возможности, такие как токенизация имен, я все же планирую это сделать. Так что любое возможное предложение / решение не должно исключать этого.
double_score
? Что за поле есть у Дэна и Джо Смита? - person Mauricio Scheffer   schedule 15.09.2011