Elastische Suche mit NEST Field Boosting

8

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?

    
tmortiboy 16.01.2013, 12:36
quelle

1 Antwort

12

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.

siehe: Ссылка Ссылка

%Vor%     
Martijn Laarman 17.01.2013, 11:42
quelle

Tags und Links