Question

J'utilise SOLR pour rechercher un ensemble de données par son nom (par exemple "Dan" ou "Joe Smith"). Je voudrais renvoyer les résultats spécifiés par la requête (EDIT: avec un wildcard à la fin) dans une commande spécifiée par un autre champ indexé double_score (par exemple 10.0 ou 72.3). J'ai actuellement ce qui suit qui ne fonctionne pas du tout:

<!-- 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>

Si je supprime les commentaires, la recherche fonctionne à la requête que je fais est remplacée par Q.alt, puis augmentée par la valeur de double_score. Si cela ne remplacait pas le Q.alt, ce serait l'effet souhaité.

Notez également que même si je n'ai pas encore plongé dans des possibilités plus intéressantes telles que le tokenisation des noms, je prévois de le faire. Ainsi, toute suggestion / solution possible ne devrait pas empêcher cela.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top