2

インデックスにa、b、cの3つのブールフィールドが含まれている場合...
「a = True、b = False、c = True」を検索すると、SOLRはすべてのエントリを返し、それらのスコアはどれだけ良いかを表す必要があります。クエリ全体が一致します。

例えば

a=T, b=F, c=T, score=1.0  
a=T, b=T, c=T, score=0.6  
a=T, b=T, c=F, score=0.5  

それは可能ですか?

4

1 に答える 1

3

true = 1、false = 0と仮定すると、いくつかのアイデアがあります。

  • クライアントで対応するブーストを使用してすべての組み合わせを構築します。例:

    (a:1 AND b:0 AND c:1) OR (a:1 OR b:1 OR c:1)^0.6 OR...
    
  • dist関数クエリを使用します。例: (Solr 1.5+が必要)(これは使用していません。これに-1を掛けるdist(1, a,b,c, 1,0,1)必要があるかもしれません)

于 2010-07-15T03:35:53.630 に答える