分析マッピング関数
マッピング関数は、各 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'
空の値は無視されます
-