2

お金を表す MySQL テーブルに 10 進数の列があります。データ インポート ハンドラを使用して、このデータを Solr にインポートしたいと考えています。このデータを保存する最善の方法が何であるかはわかりません。私はこれらのオプションを考えました:

Float: 不正確さをもたらします。

文字列: 範囲の検索が困難になります。

Int: インデックスを作成する前にすべての数値を 100 倍し、取得時に 100 で割る必要があります。

通貨: Solr 4.0 の新機能。このフィールドタイプは適切ですか、それとも金額換算用ですか?

Solr 4.0.0 を使用しています。

4

2 に答える 2

3

Solr WikiのCurrencyField定義の情報に基づきます。このフィールド タイプは、適切なソリューションのように思えます。お金の変換を提供しますが、それはその機能を使用することを選択する必要がある場合のみです. 範囲によるファセットは、このフィールド タイプではまだ利用できないことに注意してください。

于 2012-11-12T01:20:49.497 に答える
0

ペイジが提案したように、CurrencyField使用するのに適切なフィールドです。

ただし、範囲でファセットする必要がある場合は、2 番目の浮動小数点フィールド indexed=true、stored=false を使用し、copyfieldを使用して元のフィールドから浮動小数点フィールドにコピーできます。この不正確な浮動小数点フィールドを範囲クエリによるファセットに使用し、元の通貨フィールドを他のすべてに使用できます。

于 2012-11-13T22:11:29.200 に答える