あなたはtxt_genralを使用しています。これは、標準のトークナイザまたはキーワードトークナイザを使用していると仮定しています。このトークナイザは、日付用ではなくテキスト用です。
ここで私は直接的な方法とコピーフィールドを使う方法の2つを使います。
1)直接法
ここでは、直接それが再びインデックスしている私は1つのメソッドを使用することをお勧めします)
<fieldType name="tdate" class="solr. TrieDateField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
<field name="timestamp_t" type="tdate"/>
2にコピーフィールド法
<fieldType name="tdate" class="solr. TrieDateField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
<field name="copy_timestamp_t" type="tdate"/>
<copyField source="copy_timestamp_t" dest="timestamp_t" maxChars="30000" />
を日付フィールドの種類を指定することができます。
はい、私は知っていますが、それらがテキストだけのものであっても、通常のテキストを扱うことによって数字を並べ替えてはいけませんか? –
そして、私は自分のコレクションのschema.xmlをsolrで作成していません。ダイナミックフィールドを使用することをお勧めします。そして私はZ、Tを含んでいるタイムスタンプフォーマットを使いたくないので、私はtxt_generalとして使っていました。 –
テキストフィールドを使用している場合、フィールドはトークン化されます。索引の根底にある情報は、あなたが入れているものではないので、ソートすると変わってしまいます。 "2016-02-11 12:00:00"はトークナイザに応じて、 "2016"、 "02"、 "11"、 "12"、 "00"、 "00"に分割されます。これらの値でソートしようとすると、すべてが崩れます。トークン化されていない文字列フィールド(StrField)または適切な日付フィールドを使用します。 – MatsLindh