2009-03-11 13 views
4

Ich habe es geschafft, einen Index in Solr, die ich auf Keyword suchen, Facetten, Facetten abfragen usw. Das ist alles funktioniert gut. Ich habe meine Suche mit einer Dismax-Abfrage implementiert, so dass sie nach vorgegebenen Feldern sucht.Wie Ergebnisse korrekt in Solr Dismax Abfrage

Allerdings sind meine Ergebnisse sortiert nach Punkten, die nur nach Keyword-Relevanz berechnet werden. Ich möchte die Punktzahl anpassen, wo Felder vorher festgelegte Werte haben. Ich glaube, ich kann dies tun mit Boost-Abfrage und Boost-Funktionen, aber die Dokumentation hier:

http://wiki.apache.org/solr/DisMaxRequestHandler#head-6862070cf279d9a09bdab971309135c7aea22fb3

ist nicht besonders hilfreich. Ich habe versucht, das Hinzufügen eines bq Argument zu meiner Suche hinzufügen:

&bq=media:DVD^2 

(! Ja, das ist ein Index von Filmen), aber ich finde, wenn ich das Hinzufügen beginnen mehr und mehr:

&bq=media:DVD^2&bq=media:BLU-RAY^1.5 

Ich finde die negative Ergebnisse - z Filme, die DVD sind, aber sind nicht BLU-RAY werden in ihrer Punktzahl negativ beeinflusst. Am Ende scheint alles ausgeglichen zu sein und mein Score ist so, wie er war, bevor ich anfing zu boosten.

Ich muss das falsch machen und ich frage mich, ob "Boost-Funktion" irgendwo kommt. Irgendwelche Ideen, wie man Boost richtig benutzt?

Antwort

3

Anscheinend ist das normal für Filme, die DVD sind, aber nicht BLU-RAY negativ in ihrer Punktzahl betroffen sind. Das liegt daran, dass je mehr Einschränkungen Sie hinzufügen, desto mehr wird der Wert von queryNorm reduziert - und alle Bewertungen werden mit diesem Wert multipliziert.

-1

Es klingt, als ob Sie den Boost zum Zeitpunkt des Index anstelle der Abfragezeit anwenden müssen. Wenn Sie also Dokumente vorbereiten, die zum Index hinzugefügt werden sollen, geben Sie denen, die DVD sind, einen Boost von 2 und denjenigen, die Blu-Ray sind, einen Boost von 1,5.

5

Dies ist ein wenig zu spät und es sieht aus wie Sie wahrscheinlich schon, was Sie suchen, aber ...

Wenn Sie neugierig sind boost Funktionen (was, indem Sie Ihre gewünschten Ergebnisse zu urteilen, ich denke, dass Sie sein sollten) Sie sollten das bf Argument anstelle des bq Arguments überprüfen.

Versuchen Sie, die bf Argument

media:DVD^2 media:BLU-RAY^1.5 

und ich denke, dass Einstellung erreichen könnte, was Sie wollen.

Verwandte Themen