国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

在Solr中使用貨幣和匯率

2018-11-10 15:59 更新

該 currency 的 FieldType 為 Solr / Lucene(查詢時間貨幣兌換和匯率) 提供貨幣值支持,它支持以下功能:

  • Point 查詢
  • Range 查詢
  • 函數(shù)范圍(Function range)查詢
  • 排序
  • 按貨幣代碼或符號進行貨幣分析
  • 對稱和不對稱的匯率(如果匯率與交換貨幣有關(guān),則不對稱匯率是有用的)

配置貨幣

注意:CurrencyField 已被棄用,以支持 CurrencyFieldType;下面的所有配置示例使用 CurrencyFieldType。

貨幣字段類型在 schema.xml 中定義。以下是這種類型的默認(rèn)配置。

<fieldType name="currency" class="solr.CurrencyFieldType"
           amountLongSuffix="_l_ns" codeStrSuffix="_s_ns"
           defaultCurrency="USD" currencyConfig="currency.xml" />

在這個例子中,我們定義了字段類型的名稱和類別,并將 defaultCurrency 定義為“USD”,即美元。我們還定義了 currencyConfig 來使用一個名為 “currency.xml” 的文件。這是我們的默認(rèn)貨幣與其他貨幣之間的匯率文件。有一個備用的實施,可以允許定期下載貨幣數(shù)據(jù)。請參閱下面的匯率了解更多。

Solr 附帶的許多示例架構(gòu)都包含一個使用此類型的動態(tài)字段,如下例所示:

<dynamicField name="*_c"   type="currency" indexed="true"  stored="true"/>

這個動態(tài)字段將匹配任何以 _c 結(jié)束的字段,并使其成為貨幣類型的字段。

在索引時,貨幣字段可以索引在本國貨幣。例如,如果電子商務(wù)網(wǎng)站上的產(chǎn)品以歐元列出,則將價格字段標(biāo)記為“1000,EUR”將適當(dāng)?shù)貙ζ溥M行索引。價格應(yīng)該用逗號與貨幣分開,價格必須用浮點值(小數(shù)點)進行編碼。

在查詢處理期間,范圍和 Point 查詢均受支持。

子字段后綴

您必須指定指定 amountLongSuffix 和 codeStrSuffix 的參數(shù),對應(yīng)于用于原始金額和貨幣動態(tài)子字段的動態(tài)字段,例如:

<fieldType name="currency" class="solr.CurrencyFieldType"
           amountLongSuffix="_l_ns" codeStrSuffix="_s_ns"
           defaultCurrency="USD" currencyConfig="currency.xml" />

在上面的例子中,原始金額字段將使用 "*_l_ns" 動態(tài)字段,該字段必須存在于架構(gòu)中,并使用長字段類型,即擴展 LongValueFieldType。貨幣代碼字段將使用 "*_s_ns" 動態(tài)字段,該字段必須存在于架構(gòu)中,并使用字符串字段類型,即一個是或正在擴展的 StrField。

Tip:如果存儲動態(tài)子字段,則原子更新將不起作用:正如在更新文檔部分時提到的,在您使用原子更新時,存儲的動態(tài)子將導(dǎo)致索引失敗。要避免此問題,請在這些動態(tài)字段上指定 stored="false"。

匯率

您可以通過指定提供者來配置匯率。本地支持兩種提供程序類型:FileExchangeRateProvider 或 OpenExchangeRatesOrgProvider。

FileExchangeRateProvider

該提供程序要求您提供匯率文件。這是默認(rèn)的,這意味著要使用這個提供程序,只需將指定此類型的定義中的 currencyConfig 的文件路徑和名稱作為值。

currency.xmlSolr 中包含一個示例文件,在與 schema.xml 文件相同的目錄中找到。下面是這個文件的一個小片段:

<currencyConfig version="1.0">
  <rates>
    <!-- Updated from http://www.exchangerate.com/ at 2011-09-27 -->
    <rate from="USD" to="ARS" rate="4.333871" comment="ARGENTINA Peso" />
    <rate from="USD" to="AUD" rate="1.025768" comment="AUSTRALIA Dollar" />
    <rate from="USD" to="EUR" rate="0.743676" comment="European Euro" />
    <rate from="USD" to="CAD" rate="1.030815" comment="CANADA Dollar" />

    <!-- Cross-rates for some common currencies -->
    <rate from="EUR" to="GBP" rate="0.869914" />
    <rate from="EUR" to="NOK" rate="7.800095" />
    <rate from="GBP" to="NOK" rate="8.966508" />

    <!-- Asymmetrical rates -->
    <rate from="EUR" to="USD" rate="0.5" />
  </rates>
</currencyConfig>

OpenExchangeRatesOrgProvider

您可以將 Solr 配置為從 OpenExchangeRates.Org 下載匯率,更新率為每小時 170 美元。這些比率只是對稱的。

在這種情況下,需要在字段類型的定義中指定 providerClass,并注冊一個 API 密鑰。下面是一個示例:

<fieldType name="currency" class="solr.CurrencyFieldType"
           amountLongSuffix="_l_ns" codeStrSuffix="_s_ns"
           providerClass="solr.OpenExchangeRatesOrgProvider"
           refreshInterval="60"
           ratesFileLocation="http://www.openexchangerates.org/api/latest.json?app_id=yourPersonalAppIdKey"/>

refreshInterval 是分鐘,所以上面的例子將每 60 分鐘下載一次最新的費率。刷新間隔可能增加,但不會減少。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號