2016-07-09 5 views
1

私はいくつかのイベントを保存するSOLRリポジトリを持っています。イベント日付フィールド(eventdate)は、yyyymmddという形式で、intとして格納されます。 SOLRで年間の出来事の統計を取得する必要があります。言い換えれば、それがSQLデータベースであれば、私はselect count(*),substring(eventdate,0,4) group by substring(eventdate,0,4)をやったでしょう。 SOLRでどうすればいいですか?solr date統計クエリ

答えて

0

eventdateを10000で割ってintにキャストして、数字の最初の4桁を区切ります。

ことは、これを試してみてください:

select count(*) group by cast((eventdate/10000) as int) 

第二の溶液

あなたの更新を見た後、私はあなたが何をする必要があるかそうachiveしたいのか理解で発生するすべてのイベントを照会することです特定の年の意味:

eventdate > YYYY0000 and eventdate <= yyyy1232 

intが組み込まれているためこのフォーマットではyyyymmddを使用すると、すべてのイベント日付が1つのシーケンスになることを保証することができます。

+0

申し訳ありません。Shlomiさん、SOLRリポジトリの問題です。より明示的に編集しました。ありがとう –