私の目標は、過去 1 年間の各月のドキュメント数を取得することです。Solr 1.4 に対して使用しているファセット クエリを次に示します。
q=*:*
rows=0
facet=on
facet.date=myDateField
facet.date.start=NOW-11MONTH/MONTH
facet.date.end=NOW+1MONTH/MONTH
facet.date.gap=+1MONTH
このクエリが生成する範囲は です2013-01-01T00:00:00Z to 2013-02-01T00:00:00Z
。これは上限を含みます。つまりT00:00:00Z
、毎月 1 日に 2 つの異なる範囲でカウントされます。
Solr 3.1 は、私の問題を解決するパラメーターを導入していfacet.date.include
ますが、今すぐアップグレードすることはオプションではありません。同じ機能を実現するための回避策はありますか? どちらが近いか試しfacet.date.gap=+1MONTH-1SECOND
ましたが、十分に近くありませんでした。終了日が正しくない場合、次のようなものが生成されます。
2012-09-01T00:00:00Z
2012-09-30T23:59:59Z
2012-10-30T23:59:58Z
2012-11-30T23:59:57Z
2012-12-30T23:59:56Z
2013-01-30T23:59:55Z
2013-02-28T23:59:54Z
2013-03-28T23:59:53Z
2013-04-28T23:59:52Z