0

Solr ブースト関数クエリ内で条件を使用できるかどうかを確認しようとしています。現在、次の関数を使用して、いいねデータをブーストしています。

bf=recip(ms(NOW/DAY,PublishDate),3.16e-11,1,1)^2.0 sum(Likes,2) 

私がやりたいのは、いくつかの条件に基づいて「いいね」にブーストを適用することです。例えば

Source="A" または "B" または "C" の場合、sum(Likes,4)

else-if Source="D" then sum(Likes,3)

そうでなければ合計(いいね、2)。

「if」関数は単一の条件で機能しますが、if-else 条件に対処する方法がわかりません。

if(termfreq(Source2,'A'),sum(Likes,3),0)

パフォーマンスのオーバーヘッドが原因で、ネストされたクエリを回避しようとしています。

任意のポインタをいただければ幸いです。

-ありがとう、

シャミク

4

1 に答える 1

1

わかりました、いくつかの調査の後、正しい構文を見つけました。

if(termfreq(Source2,'A'),sum(Likes,3),if(termfreq(Source2,'B'),sum(Likes,3),0))

これが他の人に役立つことを願っています。

于 2015-01-15T20:00:55.823 に答える