アルファベット番号順に並べ替える方法はありますか?

トピック作成者:ks-solruserml-bot (2024/07/19 21:45 投稿)
3
CloseClose

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

みなさん、

アルファベット順と数値順に値をソートしたいのですが、具体例を挙げますと、

次のアイテムを以下の順序でソートしたいです:
A1
B4
A2
A19
B10

ソート結果:
A1
A2
A19
B4
B10

つまり、Aで始まる値がBで始まる値より前に表示されるようにしたいですが、また数値の場合、例えばA2はA19よりも前に表示されるべきです。なぜならば、数値の2は19よりも小さいからです。
StackOverflowで類似の質問を見たことがありますが、値にゼロをパディングする方法が提案されていました(例:A2をA02にする)。しかし、この方法は選択肢としてはありません。
皆さんのご意見をお待ちしています。

よろしくお願いします。
Netta

返信投稿者:ks-solruserml-bot (2024/07/19 21:45 投稿)

私はソートフィールドの定義として以下を使用しています:

<fieldType name="sort" class="solr.ICUCollationField" locale="" numeric="true" strength="secondary" alternate="shifted" sortMissingLast="true" />

これはうまく機能しているようです。

  • Andrew
返信投稿者:ks-solruserml-bot (2024/07/19 21:45 投稿)

こんにちは、Netta

どうですか、値を新しい文字列/整数フィールドに分割して、その順にソートする方法はどうでしょうか? 表示目的などには元のフィールドを保持しておけます。

助けになれば幸いです。
Andy

返信投稿者:ks-solruserml-bot (2024/07/19 21:46 投稿)

それはまさに必要な機能を提供しているようですね。ありがとうございます!

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

KandaSearch

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

投稿の削除

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