lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dorian Hoxha <dorian.ho...@gmail.com>
Subject Re: Difference between currency fieldType and float fieldType
Date Wed, 07 Dec 2016 14:13:59 GMT
Yeah, you always *100 when you store,query,facet, and you always /100 when
displaying.

On Wed, Dec 7, 2016 at 3:07 PM, <esther.quansah@lucidworks.com> wrote:

> I think Edwin might be concerned that in storing it as a long type, there
> will be no distinguishing between, in example, $1234.56 and $123456.
> But correct me if I'm wrong - the latter would be stored as 12345600.
>
> When sending in a search for all values less than $100,000 on a long
> field, will there be a need to send in that value in cents? (That is,
> q=*:*&fq=long_field[* TO 10000000] )
>
> Thanks,
>
> Esther Quansah
>
> > Le 7 déc. 2016 à 07:26, Dorian Hoxha <dorian.hoxha@gmail.com> a écrit :
> >
> > Come on dude, just use the int/long.
> > Source: double is still a float.
> >
> > On Wed, Dec 7, 2016 at 1:17 PM, Zheng Lin Edwin Yeo <
> edwinyeozl@gmail.com>
> > wrote:
> >
> >> Thanks for the reply.
> >>
> >> How about using the double fieldType?
> >> I tried that it works, as it is 64-bit, as compared to 32-bit for float.
> >> But will it hit the same issue again if the amount exceeds 64-bit?
> >>
> >> Regards,
> >> Edwin
> >>
> >>
> >>> On 7 December 2016 at 15:28, Dorian Hoxha <dorian.hoxha@gmail.com>
> wrote:
> >>>
> >>> Yeah, you'll have to do the conversion yourself (or something internal,
> >>> like the currencyField).
> >>>
> >>> Think about it as datetimes. You store everything in utc (cents), but
> >>> display to each user in it's own timezone (different currency, or just
> >> from
> >>> cents to full dollars).
> >>>
> >>> On Wed, Dec 7, 2016 at 8:23 AM, Zheng Lin Edwin Yeo <
> >> edwinyeozl@gmail.com>
> >>> wrote:
> >>>
> >>>> But if I index $1234.56 as "123456", won't it affect the search or
> >> facet
> >>> if
> >>>> I do a query directly to Solr?
> >>>>
> >>>> Say if I search for index with amount that is lesser that $2000, it
> >> will
> >>>> not match, unless when we do the search, we have to pass "200000" to
> >>> Solr?
> >>>>
> >>>> Regards,
> >>>> Edwin
> >>>>
> >>>>
> >>>> On 7 December 2016 at 07:44, Chris Hostetter <
> hossman_lucene@fucit.org
> >>>
> >>>> wrote:
> >>>>
> >>>>> : Thanks for your reply.
> >>>>> :
> >>>>> : That means the best fieldType to use for money is currencyField,
> >> and
> >>>> not
> >>>>> : any other fieldType?
> >>>>>
> >>>>> The primary use case for CurrencyField is when you want to do dynamic
> >>>>> currency fluctuations between multiple currency types at query time
> >> --
> >>>> but
> >>>>> to do that you either need to use the FileExchangeRateProvider and
> >> have
> >>>>> your owne backend system to update the exchange rates, or you have
to
> >>>> have
> >>>>> an openexchangerates.org account, or implement some other provider
> >>> (with
> >>>>> custom solr java code)
> >>>>>
> >>>>>
> >>>>> If you only care about a single type of currency -- for example,
if
> >> all
> >>>>> you care about is is US Dollars -- then just use either
> >>>>> TrieIntField or TrieLongField and represent in the smallest possible
> >>>>> increment you need to measure -- for US Dollars this would be cents.
> >>> ie:
> >>>>> $1234.56 would be put in your index as "123456"
> >>>>>
> >>>>>
> >>>>>
> >>>>> -Hoss
> >>>>> http://www.lucidworks.com/
> >>>>>
> >>>>
> >>>
> >>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message