2011-11-10 14 views
0

私はApache Solrを使用しており、テキストフィールドPostBody、整数Useridフィールド、および時間ベースの日時フィールドMostRecentActivityDateを持つスキーマを使用してインデックスをクエリしています。これらのSolrクエリは、どのように異なる結果をもたらしますか?

selectクエリにクエリ時間の追加を適用しようとしています。最近の投稿がスコアリングを助けるためにいくつかの要因によって後押しされるようです。これに対する私の価値観は、多くのオンラインデートの例のように、年数ではなく日数のスケールを取ろうとしています。

次の2つのクエリは異なる結果をもたらしますが、唯一異なるのは、ブースティングの「コード」が実際に配置される場所(つまり、フィールド条件自体の前または後)です。私のテストでは、{}を追加するコードがないときとは異なる結果が得られていることに気付きました。

なぜ彼らは異なる結果を生み出すのか説明できますか?ありがとう!

{!boost%20b=recip(ms(NOW,MostRecentActivityDate),1.16e-7,1,1)} (PostBody:"timmy is great and that is a fact") AND !Userid=2 

対。

(PostBody:"timmy is great and that is a fact") AND !Userid=2 {!boost%20b=recip(ms(NOW,MostRecentActivityDate),1.16e-7,1,1)} 

答えて

関連する問題