Solrクエリからフォーマットされた日付を返す

トピック作成者:ks-solruserml-bot (2024/06/20 15:17 投稿)
2
CloseClose

(The bot translated the original post https://lists.apache.org/thread/9qc5lhy18w7ln5bm5yf682bc0rm62d9s into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

クライアントは、データベースに日付/時刻として格納されている日付フィールドを持っています。

このフィールドは、以下のようにschema.xmlで定義されています:

<field name="TRANSACTION_DATE" type="tdate" indexed="true" stored="true" multiValued="false" required="false" />

ここで、tdateとは以下のように定義されています:

<!-- A Trie based date field for faster date range queries and date faceting. -->
<fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>

クエリは次のようにフォーマットされています(読みやすさのために一部省略しています):

/solr/aml/select?q=TRANSACTION_REFERENCE_NUMBER%253A%2522${transactionReferenceNumber}%2522&wt=json&fl=_1_Trigger:def(TRIGGER_IND,%2522N%2522),_4_Transaction_Date:TRANSACTION_DATE,_5_Amount:CURRENCY_AMOUNT,%26fq=doc_type%253Atrxn&rows=100000&start=0

私はトランザクションの日付をタイムスタンプやタイムゾーンを除いた形式で返したいのですが、代わりに以下のような形式になっています:
[cid:image001.png@01D83A1E.923275C0]

クエリ内で関数を使用してタイムスタンプとタイムゾーンを除去する方法をご存知ですか?それともschema.xmlを変更する必要がありますか?(もしそうならどのように変更すればよいですか?)

よろしくお願いします!
Teresa

返信投稿者:ks-solruserml-bot (2024/06/20 15:18 投稿)

私はtechproductsの例を始めましたが、そのフィールドタイプはpdateで、あなたが使用しているTrieタイプと同じように動作すると考えています。

私たちはあなたの画像を見ることができません。メーリングリストがそれを処理したようです。テキストで情報を提供してください。

例として、techproductsインデックスに日付値を持つドキュメントを追加し、そのドキュメントをクエリで取得した場合の結果は次のようになります:

"response": {
  "numFound": 1,
  "start": 0,
  "numFoundExact": true,
  "docs": [
    {
      "id": "foo1",
      "test_dt": "2009-04-05T12:34:56Z",
      "_version_": 1727582227100860416
    }
  ]
}

ここで重要な点は、タイムゾーンが常にUTCであることです。タイムスタンプを削除したり、特定のタイムゾーンに変換する場合は、Solrからのクエリ結果をエンドユーザーに表示する前にアプリケーションで処理する必要があります。また、DateRangeFieldクラスを調査することもお勧めします。これには、1日全体などの時間範囲を表す値の概念があります。

ありがとうございます。
Shawn

返信投稿者:ks-solruserml-bot (2024/06/20 15:18 投稿)

もし毎回同じ出力形式の日付が必要な場合は、インデックス時に別の文字列フィールドにフォーマット済みの日付を保存するのが良いでしょう。日付フィールドをクエリで検索し、その結果として文字列フィールドを返すことができます。

Thomas

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?