簡略化した例として、 私は2つのフィールド:title
とkeywords
を持っています。 私は、次のパラメータsolfのqfは、任意のブーストフィールドを与えません。
QFとedismax使用しています:タイトル+キーワードを^ 2
以前は、それが正常に働いていました。私はsolrにインデックスされた約15Mのレコードを持っています。すべてのレコードは空ではありませんtitle
ほとんどのレコードHAD空でないkeywords
。
しかし、最近、私たちはほとんどのレコードのkeywords
を削除することを決めました。その結果、現時点では、非空のkeywords
を持つ1レコード(15Mレコードのうちの1レコード)しかありません。
qf
で指定されたkeywords^2
ブーストは残念ながら使用できません。そのレコードの
、我々は、たとえば、 "パンツ衣類" をtitle
、たとえば、 "良い店"、およびkeywords
を持っています。私は「良い店パンツ」を検索すると今、Solrのマッチングスコアに関係なく、私はqf: title
またはqf: title keywords^2.5
を使用するかどうかのまったく同じです。 (上記の比較では、ソルマッチングのスコアが異なるため、ほとんどのレコードに空でないキーワードが含まれていた場合は、以前と同じように動作していたと思います)。
二つのフィールドの定義は何ですか?そして、あなたは 'debugQuery'の出力のフィールドでヒットしていますか? – MatsLindh
これらは両方とも 'text_general'として定義されています。そして、私はそれをdebugQueryで見ます:ex.'DisjunctionMaxQuery((キーワード:good)^ 3.0 | title:good))'。そして、私は 'keywords'フィールドでのマッチを期待しているレコードに対して、返された結果に示されているように' good'がキーワードフィールドにあることを知っています。 – user2868104