2016-08-04 33 views
0

Ok, ich bin mit vielen Bereichen so mit qf, wie:solr wie Boost-Faktor in einer Abfrage richtig verwenden?

[qf] => frpId^5 fundraise_title^3 fundraiser_display_name^3 charity_name^2 participantFname^2 participantLname^2 participantEmail^1 groupName^3 fundraise_text^ fundraiseTitleExact^15 fundraiserDisplayNameExact^15 charityNameExact^15 participantFnameExact^10 participantLnameExact^10 groupNameExact^10 all^ 

aber ich möchte wirklich, dass genaue Treffer für das Feld fundraiseTitleExact oben sein.

Mit diesem früheren Aufbau von QF, sie sind auf der Position 32.

Lassen Sie uns sagen, dass ich die Förderung fundraiseTitleExact wie:

[qf] => frpId^5 fundraise_title^3 fundraiser_display_name^3 charity_name^2 participantFname^2 participantLname^2 participantEmail^1 groupName^3 fundraise_text^ fundraiseTitleExact^15000000000000000 fundraiserDisplayNameExact^15 charityNameExact^15 participantFnameExact^10 participantLnameExact^10 groupNameExact^10 all^ 

Aber auch jetzt die fundraiseTitleExact genaue Übereinstimmung ist nur auf die Position 27 (5 Positionen höher) und geht nicht nach oben.

Wie kann ich dieses Feld gegenüber dem Rest priorisieren?

+0

boost das Feld und versuchen 'QF = fundraise_text fundraiseTitleExact^15 fundraise_title' – vinod

Antwort

0

Das sieht eher wie ein Tuning-Problem, aber Sie haben mehrere Möglichkeiten:

  1. Tunen Sie Ihre Relevanz alle Boosts zu modifizieren, bis Sie die erwarteten Ergebnisse (ich würde Ihnen raten, mit niedrigeren Boosts als die Arbeit in deinen Fragen und erhöhe dann den Boost des wichtigsten Feldes);

  2. Wenn Sie edismax query parse r verwenden, dann möchten Sie wahrscheinlich die bq und bf Parameter überprüfen, um Ihren Begriff zu erhöhen;

  3. Im schlimmsten Fall könnten Sie Query Elevation Component verwenden, um einige Einträge an den Anfang der Liste zu setzen.

rate ich die folgenden Bücher zu lesen, Ihr Wissen über solr steigern und Relevanz Mechanismen zu erweitern:

nur
+0

Ich habe bq verwendet, um diese spezifische Feldsuche anzukurbeln, und es arbeitet grate; Danke. –