1

schema.xml には次の設定があります。

<field name="last_modified" type="date" indexed="true" stored="true" multiValued="false" omitTermFreqAndPositions="true"/>
...

<field name="prefix" type="string" indexed="true" stored="true" omitTermFreqAndPositions="true"/>

私たちの目標は、ドキュメントを並べ替えることです

  1. prefix=9999 最新のドキュメント (最終更新日) が最初
  2. prefix=1004 または prefix=1005 で、最新のドキュメント (最終更新日) が最初

私たちのコード:

{!boost b=recip(ms(NOW,last_modified),3.16e11,1,1)}prefix:9999^1000000 OR {!boost b=recip(ms(NOW,last_modified),3.16e-11,1,1)}prefix:1004^600000 OR {!boost b=recip(ms(NOW,last_modified),3.16e-11,1,1)}prefix:1005^600000

結果: 上記のクエリは期待どおりに機能しません!

omitTermFreqAndPositions=true は強制的に ITF を防止し、スコアリングが機能するはずだと考えました。しかし、そうではないようです!これで私たちを助けてください:-)

4

1 に答える 1