分析マッピング関数
マッピング関数は、各 Solr ドキュメントまたは削減の値にマッピングします。
分析コンポーネントは非推奨になりました。 JSON ファセット API にある同様の機能を確認することをお勧めします。 JSON ファセットでは現在カバーされていない必要な機能がある場合は、プロジェクトに通知してください。 |
以下は、分析コンポーネントによって提供されるすべてのマッピング関数のリストです。 これらのマッピングを連鎖させて、より複雑な機能を実装できます。
数値関数
丸め
数値式を最も近い Integer
または Long
値に丸めます。
round(< _Float_ >)
⇒< _Int_ >
round(< _Double_ >)
⇒< _Long_ >
-
-
round(-1.5)
⇒-1
-
round([1.75, 100.34])
⇒[2, 100]
-
天井
数値式を、元の値以上で最も近い Integer
または Long
値に丸めます。
ceil(< _Float_ >)
⇒< _Int_ >
ceil(< _Double_ >)
⇒< _Long_ >
-
-
ceil(5.01)
⇒5
-
ceil([-4.999, 6.99])
⇒[-4, 7]
-
床
数値式を、元の値以下で最も近い Integer
または Long
値に丸めます。
floor(< _Float_ >)
⇒< _Int_ >
floor(< _Double_ >)
⇒< _Long_ >
-
-
floor(5.75)
⇒5
-
floor([-4.001, 6.01])
⇒[-5, 6]
-
加算
数値式の値を加算します。
add(< Multi Double >)
⇒< Single Double >
-
-
add([1, -4])
⇒-3.0
-
add(< Single Double >, < Multi Double >)
⇒< Multi Double >
-
-
add(3.5, [1, -4])
⇒[4.5, -0.5]
-
add(< Multi Double >, < Single Double >)
⇒< Multi Double >
-
-
add([1, -4], 3.5)
⇒[4.5, -0.5]
-
add(< Single Double >, …)
⇒< Single Double >
-
-
add(3.5, 100, -27.6)
⇒75.9
-
減算
数値式の値を減算します。
sub(< Single Double >, < Single Double >)
⇒< Single Double >
-
-
sub(3.5, 100)
⇒-76.5
-
sub(< Single Double >, < Multi Double >)
⇒< Multi Double >
-
-
sub(3.5, [1, -4])
⇒[2.5, 7.5]
-
sub(< Multi Double >, < Single Double >)
⇒< Multi Double >
-
-
sub([1, -4], 3.5)
⇒[-2.5, -7.5]
-
乗算
数値式の値を乗算します。
mult(< Multi Double >)
⇒< Single Double >
-
-
mult([1, -4])
⇒-4.0
-
mult(< Single Double >, < Multi Double >)
⇒< Multi Double >
-
-
mult(3.5, [1, -4])
⇒[3.5, -16.0]
-
mult(< Multi Double >, < Single Double >)
⇒< Multi Double >
-
-
mult([1, -4], 3.5)
⇒[3.5, 16.0]
-
mult(< Single Double >, …)
⇒< Single Double >
-
-
mult(3.5, 100, -27.6)
⇒-9660
-
除算
数値式の値を除算します。
div(< Single Double >, < Single Double >)
⇒< Single Double >
-
-
div(3.5, 100)
⇒.035
-
div(< Single Double >, < Multi Double >)
⇒< Multi Double >
-
-
div(3.5, [1, -4])
⇒[3.5, -0.875]
-
div(< Multi Double >, < Single Double >)
⇒< Multi Double >
-
-
div([1, -4], 25)
⇒[0.04, -0.16]
-
累乗
ある数値式を別の数値式のべき乗にします。
注: 平方根関数 sqrt(< Double >)
は pow(< Double >, .5)
の省略形として使用できます。
pow(< Single Double >, < Single Double >)
⇒< Single Double >
-
-
pow(2, 4)
⇒16.0
-
pow(< Single Double >, < Multi Double >)
⇒< Multi Double >
-
-
pow(16, [-1, 0])
⇒[0.0625, 1]
-
pow(< Multi Double >, < Single Double >)
⇒< Multi Double >
-
-
pow([1, 16], .25)
⇒[1.0, 2.0]
-
対数
数値式の対数を取得します。オプションで、2 番目の数値式を底として使用できます。式が 1 つだけ指定された場合は、自然対数が使用されます。
log(< Double >)
⇒< Double >
-
-
log(5)
⇒1.6094…
-
log([1.0, 100.34])
⇒[0.0, 4.6085…]
-
log(< Single Double >, < Single Double >)
⇒< Single Double >
-
-
log(2, 4)
⇒0.5
-
log(< Single Double >, < Multi Double >)
⇒< Multi Double >
-
-
log(16, [2, 4])
⇒[4, 2]
-
log(< Multi Double >, < Single Double >)
⇒< Multi Double >
-
-
log([81, 3], 9)
⇒[2.0, 0.5]
-
論理
And
ブール式の値を AND 演算します。
and(< Multi Bool >)
⇒< Single Bool >
-
-
and([T, F, T])
⇒F
-
and(< Single Bool >, < Multi Bool >)
⇒< Multi Bool >
-
-
and(F, [T, T])
⇒[F, F]
-
and(< Multi Bool >, < Single Bool >)
⇒< Multi Bool >
-
-
and([F, T], T)
⇒[F, T]
-
and(< Single Bool >, …)
⇒< Single Bool >
-
-
and(T, T, T)
⇒T
-
比較
等価
2 つの式の値が等しいかどうかを確認します。暗黙的な型変換後、パラメータは同じ型である必要があります。
equal(< Single T >, < Single T >)
⇒< Single Bool >
-
-
equal(F, F)
⇒T
-
equal(< Single T >, < Multi T >)
⇒< Multi Bool >
-
-
equal("a", ["a", "ab"])
⇒[T, F]
-
equal(< Multi T >, < Single T >)
⇒< Multi Bool >
-
-
equal([1.5, -3.0], -3)
⇒[F, T]
-
より大きい
数値式または Date
式の値が別の式の値より大きいかどうかを確認します。暗黙的な型変換後、パラメータは同じ型である必要があります。
gt(< Single Numeric/Date T >, < Single T >)
⇒< Single Bool >
-
-
gt(1800-01-02, 1799-12-20)
⇒F
-
gt(< Single Numeric/Date T >, < Multi T >)
⇒< Multi Bool >
-
-
gt(30.756, [30, 100])
⇒[F, T]
-
gt(< Multi Numeric/Date T >, < Single T >)
⇒< Multi Bool >
-
-
gt([30, 75.6], 30)
⇒[F, T]
-
以上
数値式または Date
式の値が別の式の値以上であるかどうかを確認します。暗黙的な型変換後、パラメータは同じ型である必要があります。
gte(< Single Numeric/Date T >, < Single T >)
⇒< Single Bool >
-
-
gte(1800-01-02, 1799-12-20)
⇒F
-
gte(< Single Numeric/Date T >, < Multi T >)
⇒< Multi Bool >
-
-
gte(30.756, [30, 100])
⇒[F, T]
-
gte(< Multi Numeric/Date T >, < Single T >)
⇒< Multi Bool >
-
-
gte([30, 75.6], 30)
⇒[T, T]
-
より小さい
数値式または Date
式の値が別の式の値より小さいかどうかを確認します。暗黙的な型変換後、パラメータは同じ型である必要があります。
lt(< Single Numeric/Date T >, < Single T >)
⇒< Single Bool >
-
-
lt(1800-01-02, 1799-12-20)
⇒T
-
lt(< Single Numeric/Date T >, < Multi T >)
⇒< Multi Bool >
-
-
lt(30.756, [30, 100])
⇒[T, F]
-
lt(< Multi Numeric/Date T >, < Single T >)
⇒< Multi Bool >
-
-
lt([30, 75.6], 30)
⇒[F, F]
-
以下
数値式または Date
式の値が別の式の値以下であるかどうかを確認します。暗黙的な型変換後、パラメータは同じ型である必要があります。
lte(< Single Numeric/Date T >, < Single T >)
⇒< Single Bool >
-
-
lte(1800-01-02, 1799-12-20)
⇒T
-
lte(< Single Numeric/Date T >, < Multi T >)
⇒< Multi Bool >
-
-
lte(30.756, [30, 100])
⇒[T, F]
-
lte(< Multi Numeric/Date T >, < Single T >)
⇒< Multi Bool >
-
-
lte([30, 75.6], 30)
⇒[T, F]
-
条件
If
ブール条件式の値が true
か false
かに応じて、THEN
式または ELSE
式の値を返します。暗黙的な型変換が行われた後、THEN
式と ELSE
式は同じ型とカーディナリティである必要があります。
if(< Single Bool>, < T >, < T >)
⇒< T >
-
-
if(true, "abc", [1,2])
⇒["abc"]
-
if(false, "abc", 123)
⇒"123"
-
置換
1番目の式の値のうち、2番目の式の値と等しいものをすべて、3番目の式の値で置換します。暗黙の型変換後、すべてのパラメータは同じ型である必要があります。
replace(< T >, < Single T >, < Single T >)
⇒< T >
-
-
replace([1,3], 3, "4")
⇒["1", "4"]
-
replace("abc", "abc", 18)
⇒"18"
-
replace("abc", 1, "def")
⇒"abc"
-
欠損値の補完
1番目の式に値がない場合、2番目の式の値で補完します。暗黙の型変換後、両方の式は同じ型とカーディナリティを持つ必要があります。
fill_missing(< T >, < T >)
⇒< T >
-
-
fill_missing([], 3)
⇒[3]
-
fill_missing(empty, "abc")
⇒"abc"
-
fill_missing("abc", [1])
⇒["abc"]
-
日付
日付解析
String
またはLong
の式の値を明示的にDate
に変換します。
date(< String >)
⇒< Date >
-
-
date('1800-01-02')
⇒1800-01-02T00:00:00Z
-
date(['1800-01-02', '2016-05-23'])
⇒[1800-01-02T…, 2016-05-23T…]
-
date(< Long >)
⇒< Date >
-
-
date(1232343246648)
⇒2009-01-19T05:34:06Z
-
date([1232343246648, 223234324664])
⇒[2009-01-19T…, 1977-01-27T…]
-
日付演算
Date
式の値に対して、指定された日付演算文字列を計算します。日付演算文字列は、定数である必要があります。
date_math(< Date >, < Constant String >…)
⇒< Date >
-
-
date_math(1800-04-15, '+1DAY', '-1MONTH')
⇒1800-03-16
-
date_math([1800-04-15,2016-05-24], '+1DAY', '-1MONTH')
⇒[1800-03-16, 2016-04-25]
-
文字列
明示的な型変換
式を明示的にString
式に変換します。
string(< String >)
⇒< String >
-
-
string(1)
⇒'1'
-
string([1.5, -2.0])
⇒['1.5', '-2.0']
-
連結
String
式の値を連結します。
concat(< Multi String >)
⇒< Single String >
-
-
concat(['a','b','c'])
⇒'abc'
-
concat(< Single String >, < Multi String >)
⇒< Multi String >
-
-
concat(1, ['a','b','c'])
⇒['1a','1b','1c']
-
concat(< Multi String >, < Single String >)
⇒< Multi String >
-
-
concat(['a','b','c'], 1)
⇒['a1','b1','c1']
-
concat(< Single String >…)
⇒< Single String >
-
-
concat('a','b','c')
⇒'abc'
-
concat('a',empty,'c')
⇒'ac'
空の値は無視されます
-
区切り文字付き連結
指定された定数文字列値を区切り文字として使用して、String
式の値を連結します。
concat_sep(< Constant String >, < Multi String >)
⇒< Single String >
-
-
concat_sep('-', ['a','b'])
⇒'a-b'
-
concat_sep(< Constant String >, < Single String >, < Multi String >)
⇒< Multi String >
-
-
concat_sep(2,1,['a','b'])
⇒['12a','12b']
-
concat_sep(< Constant String >, < Multi String >, < Single String >)
⇒< Multi String >
-
-
concat_sep(2,['a','b'],1)
⇒['a21','b21']
-
concat_sep('-','a',2,3)
⇒'a-2-3'
-
concat_sep(';','a',empty,'c')
⇒'a;c'
空の値は無視されます
-