lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Høydahl (Commented) (JIRA) <>
Subject [jira] [Commented] (SOLR-2202) Money/Currency FieldType
Date Fri, 09 Mar 2012 14:36:59 GMT


Jan Høydahl commented on SOLR-2202:

I have a new patch ready soon. It
* has truly pluggable ExchangeRateProvider through new param {{exchangeRateProvider}} on fieldType
* pulls out ExchangeRateProvider interface into its own file, with init(), reload(), inform()
and list() methods
* reading and parsing of config file delegated to FileExchangeRateProvider
* cleans up static strings into constants
* normalizes stored value when currency missing i.e. an input of "3.5" would be "3.5,USD"
if USD is default currency
* adds ASL license headers to all new files
* reverts schema field "price" back to "float" for backward compat
* removes defaultCurrency param from <field> definition and adds it to <fieldType>

Actually, defaultCurrency param does not work at all on <field> level. Any ideas on
how it could be made working?
We should create a test with a different ExchangeRateProvider plugin just to prove that it
> Money/Currency FieldType
> ------------------------
>                 Key: SOLR-2202
>                 URL:
>             Project: Solr
>          Issue Type: New Feature
>          Components: Schema and Analysis
>    Affects Versions: 1.5
>            Reporter: Greg Fodor
>            Assignee: Jan Høydahl
>             Fix For: 3.6, 4.0
>         Attachments: SOLR-2022-solr-3.patch, SOLR-2202-lucene-1.patch, SOLR-2202-solr-1.patch,
SOLR-2202-solr-10.patch, SOLR-2202-solr-2.patch, SOLR-2202-solr-4.patch, SOLR-2202-solr-5.patch,
SOLR-2202-solr-6.patch, SOLR-2202-solr-7.patch, SOLR-2202-solr-8.patch, SOLR-2202-solr-9.patch,
SOLR-2202.patch, SOLR-2202.patch, SOLR-2202.patch, SOLR-2202.patch, SOLR-2202.patch
> Provides support for monetary values to Solr/Lucene with query-time currency conversion.
The following features are supported:
> - Point queries
> - Range quries
> - Sorting
> - Currency parsing by either currency code or symbol.
> - Symmetric & Asymmetric exchange rates. (Asymmetric exchange rates are useful if
there are fees associated with exchanging the currency.)
> At indexing time, money fields can be indexed in a native currency. For example, if a
product on an e-commerce site is listed in Euros, indexing the price field as "1000,EUR" will
index it appropriately. By altering the currency.xml file, the sorting and querying against
Solr can take into account fluctuations in currency exchange rates without having to re-index
the documents.
> The new "money" field type is a polyfield which indexes two fields, one which contains
the amount of the value and another which contains the currency code or symbol. The currency
metadata (names, symbols, codes, and exchange rates) are expected to be in an xml file which
is pointed to by the field type declaration in the schema.xml.
> The current patch is factored such that Money utility functions and configuration metadata
lie in Lucene (see MoneyUtil and CurrencyConfig), while the MoneyType and MoneyValueSource
lie in Solr. This was meant to mirror the work being done on the spacial field types.
> This patch will be getting used to power the international search capabilities of the
search engine at Etsy.
> Also see WIKI page:

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message