2017-04-24 9 views
1

私は結果リストを持っている:Solr、日時フィールドの中で時間だけを検索しますか?

{ 
    entry: 'name1', 
    at: '2013-04-01 13:44:02' 
}, 
{ 
    entry: 'name2', 
    at: '2013-11-11 23:34:11' 
}, 
{ 
    entry: 'name3', 
    at: '2013-05-09 03:58:32' 
}, 

今私は'12でヒットを結果検索フィルタ条件を書きたいと思う:00:00' と'14:00:00' が、その回のフィルタリング、日付ではなく、日付自体を無視します。以下のような何か:

at:[*T12:00:00Z TO *T14:00:00Z] 

答えて

2

は、あなたが、別のフィールドにのみ情報を、時間を置く必要がある色合いは、時間に単一の整数を作り、12時44分32秒は124432になりますと言うと、あなたは簡単に範囲を実行することができますあなたが必要とする質問。

  1. 時間フィールドにコピーするcopyFieldを使用して、削除するPatternReplaceFilterを使用するクライアント側自体
  2. からドキュメントに追加します。いくつかのオプションは、あなたが持っている時間フィールドを作成するには

  3. の日付部分はUpdateRequestProcessor

1または2の内部時刻フィールドを追加することにより、これまで最も簡単です。

1

投稿を読むと、regex to match a partial dateも使用できます。しかし、これは私にとっては醜い解決策に思えます。

真夜中からの秒数(または分)として時刻を指定して新しいフィールドを追加すると、パフォーマンスと使いやすさが向上すると思います。

関連する問題