2017-08-22 4 views
0

Wie kann ich eine Abfrage durch ein String-Feld erhöhen? Ich habe nur Ressourcen gefunden, die date boosting erklären.Solr: Boost von String-Feld

z.

  1. Priorität = eine
  2. Priorität = b
  3. Priorität = c

Ich weiß, dass ich nach Priorität sortieren könnte, aber ich will: Diese Dokumente sollten in dieser Reihenfolge erhöht werden Kombiniere dieses Feld mit den Solr-Relevanzmechanismen.

Antwort

0

Die Lösung ist eine Boost-Funktion unter Verwendung von rord()

bf=rord(priority)^10 

rord ordnet eine Zeichenfolge in eine ganze Zahl, die dann zur Steigerung der verwendet werden kann.

0

Wenn Sie für jeden Wert benutzerdefinierte Gewichtungen anwenden möchten; dh sagt, dass b zwei Mal wichtiger ist als a, oder dass Ihre Prioritäten sind nicht unbedingt geordnet (dh c sollte mehr als b verstärkt werden, aber nicht mehr als a), können Sie einen Schub Abfrage mit jedem Gewicht hinzufügen:

bq=priority:a^10 priority:b^2 priority:c^5