Ich verwende Elastic Search in C # mit dem stark typisierten NEST-Client. Ich habe einen Index mit Einträgen:
%Vor%Wo Jahr das Jahr des Eintrags ist, z. B. 2012, und Auszeichnung ist die Art des Preises, den der Eintrag gewonnen hat, der null sein kann.
Ich möchte dann diese Einträge durch Boosting für verschiedene Eigenschaften durchsuchen. Im folgenden Code möchte ich, dass die Ergebnisse im Titel höher eingestuft werden als in der Beschreibung.
%Vor%Ich wurde nun gebeten, die Ergebnisse von denen, die Preise gewonnen haben, zu steigern und auch neuere Einträge zu steigern (zB durch das Jahr).
Wie mache ich das? Ist es etwas, das als Teil des Indexierungsdienstes oder als Teil der Suche ausgeführt werden muss?
Dies erreichen Sie durch eine Kombination aus boosting
query und custom_score
query
Anstatt Jahr zu erhöhen, ändern wir die Punktzahl basierend auf dem Jahr, weil:
%Vor%Neuere Ergebnisse werden an die Spitze getrieben.
Durch Verwendung einer Boosting-Abfrage können wir Ergebnisse, denen das Feld "award" fehlt, effektiv zurückstufen.
%Vor%Tags und Links c# elasticsearch nest