APIの規約
ElasticsearchのREST APIはHTTPを介して公開されています。特に記載がない限り、以下の規約はすべてのAPIに適用されます。
コンテンツタイプの要件
リクエストボディに送信されるコンテンツのタイプは、Content-Type
ヘッダーを使用して指定する必要があります。このヘッダーの値は、APIがサポートする形式のいずれかにマッピングされる必要があります。ほとんどのAPIはJSON、YAML、CBOR、SMILEをサポートしています。バルクおよびマルチ検索APIはNDJSON、JSON、SMILEをサポートしており、他のタイプはエラーレスポンスを引き起こします。
ElasticsearchはUTF-8エンコードされたJSONのみをサポートします。Elasticsearchはリクエストと共に送信された他のエンコーディングヘッダーを無視します。レスポンスもUTF-8エンコードされています。
## X-Opaque-Id HTTPヘッダー
リクエストの起源をElasticsearchのログやタスクで追跡するために、`````X-Opaque-Id````` HTTPヘッダーを渡すことができます。提供された場合、Elasticsearchは以下の場所で`````X-Opaque-Id`````の値を表示します:
- ヘッダーを含むリクエストのレスポンス
- [タスク管理API](4819d08b09fe89d8.md#_identifying_running_tasks)のレスポンス
- [スローログ](7639fb3d68bae60d.md#_identifying_search_slow_log_origin)
- [非推奨ログ](b07f476a9c1f1466.md#deprecation-logging)
非推奨ログの場合、Elasticsearchは`````X-Opaque-Id`````の値を使用して非推奨警告を制限および重複排除します。[非推奨ログのスロットリング](b07f476a9c1f1466.md#_deprecation_logs_throttling)を参照してください。
`````X-Opaque-Id`````ヘッダーは任意の値を受け入れます。ただし、これらの値をクライアントごとのIDなどの有限のセットに制限することをお勧めします。すべてのリクエストに対してユニークな`````X-Opaque-Id`````ヘッダーを生成しないでください。ユニークな`````X-Opaque-Id`````の値が多すぎると、Elasticsearchが非推奨ログの警告を重複排除できなくなる可能性があります。
## traceparent HTTPヘッダー
Elasticsearchは、[公式W3Cトレースコンテキスト仕様](https://www.w3.org/TR/trace-context/#traceparent-header)を使用して`````traceparent````` HTTPヘッダーもサポートしています。`````traceparent`````ヘッダーを使用して、Elastic製品や他のサービス間でリクエストをトレースできます。トレース専用に使用されるため、各リクエストに対してユニークな`````traceparent`````ヘッダーを安全に生成できます。
提供された場合、Elasticsearchはヘッダーの`````trace-id`````の値を`````trace.id`````として表示します:
- [JSON Elasticsearchサーバーログ](/read/elasticsearch-8-15/b07f476a9c1f1466.md)
- [スローログ](7639fb3d68bae60d.md#_identifying_search_slow_log_origin)
- [非推奨ログ](b07f476a9c1f1466.md#deprecation-logging)
例えば、以下の`````traceparent`````の値は、上記のログで以下の`````trace.id`````の値を生成します。
#### Txt
``````txt
`
GETおよびPOSTリクエスト
いくつかのElasticsearch GET API、特に検索APIはリクエストボディをサポートしています。GETアクションは情報を取得する文脈で意味がありますが、ボディを持つGETリクエストはすべてのHTTPライブラリでサポートされているわけではありません。リクエストボディを必要とするすべてのElasticsearch GET APIは、POSTリクエストとしても送信できます。あるいは、GETを使用する際に、リクエストボディをsource
クエリ文字列パラメータとして渡すことができます。
Cron式
Cron式は以下の形式の文字列です:
Txt
<seconds> <minutes> <hours> <day_of_month> <month> <day_of_week> [year]
ElasticsearchはQuartz Job Schedulerのcronパーサーを使用しています。Quartz cron式の記述に関する詳細は、Quartz CronTrigger Tutorialを参照してください。
すべてのスケジュール時間は協定世界時(UTC)であり、他のタイムゾーンはサポートされていません。
elasticsearch-cronevalコマンドラインツールを使用して、cron式を検証できます。
Cron式の要素
すべての要素はyear
を除いて必須です。許可されている特殊文字に関する情報は、Cron特殊文字を参照してください。
<seconds>
- (必須) 有効な値:
0
-59
および特殊文字,
-
*
/
<minutes>
- (必須) 有効な値:
0
-59
および特殊文字,
-
*
/
<hours>
- (必須) 有効な値:
0
-23
および特殊文字,
-
*
/
<day_of_month>
- (必須) 有効な値:
1
-31
および特殊文字,
-
*
/
?
L
W
<month>
- (必須) 有効な値:
1
-12
、JAN
-DEC
、jan
-dec
および特殊文字,
-
*
/
<day_of_week>
- (必須) 有効な値:
1
-7
、SUN
-SAT
、sun
-sat
および特殊文字,
-
*
/
?
L
#
<year>
- (オプション) 有効な値:
1970
-2099
および特殊文字,
-
*
/
Cron特殊文字
*
- フィールドのすべての可能な値を選択します。たとえば、
*
はhours
フィールドで「毎時」を意味します。 ?
- 特定の値はありません。値が何であっても気にしない場合に使用します。たとえば、特定の日にスケジュールをトリガーしたいが、その日が何曜日であるかは気にしない場合、
?
をday_of_week
フィールドに指定できます。 -
- 値の範囲(含む)。最小値と最大値を区切るために使用します。たとえば、午前9時から午後5時の間に毎時トリガーしたい場合、
9-17
をhours
フィールドに指定できます。 ,
- 複数の値。フィールドの複数の値を区切るために使用します。たとえば、毎週火曜日と木曜日にトリガーしたい場合、
TUE,THU
をday_of_week
フィールドに指定できます。 /
- インクリメント。時間のインクリメントを指定する際に値を区切るために使用します。最初の値は開始点を表し、2番目の値は間隔を表します。たとえば、毎時20分ごとにトリガーしたい場合、
0/20
をminutes
フィールドに指定できます。同様に、1/5
をday_of_month
フィールドに指定すると、月の初日から5日ごとにトリガーされます。 L
- 最後の日。
day_of_month
フィールドで月の最終日を意味します—1月の31日、非うるう年の2月の28日、4月の30日など。day_of_week
フィールドで7
またはSAT
の代わりに単独で使用するか、特定の曜日の後に使用して、その月のそのタイプの最終日を選択します。たとえば、6L
はその月の最終金曜日を意味します。LW
をday_of_month
フィールドに指定して、月の最終平日を指定できます。値のリストや範囲を指定する際にL
オプションを使用することは避けてください。結果が期待通りでない可能性があります。 W
- 曜日。指定された日付に最も近い曜日(月曜日から金曜日)を指定するために使用します。たとえば、
15W
をday_of_month
フィールドに指定し、15日が土曜日の場合、スケジュールは14日にトリガーされます。15日が日曜日の場合、スケジュールは月曜日の16日にトリガーされます。15日が火曜日の場合、スケジュールは火曜日の15日にトリガーされます。ただし、1W
をday_of_month
の値として指定し、1日が土曜日の場合、スケジュールは月曜日の3日にトリガーされます—月の境界を越えることはありません。LW
をday_of_month
フィールドに指定して、月の最終平日を指定できます。W
オプションは、day_of_month
が単一の日である場合にのみ使用できます—日や曜日の範囲やリストを指定する場合には無効です。 #
- 月のn番目のXXXの日。
day_of_week
フィールドで月のn番目のXXXの日を指定するために使用します。たとえば、6#1
を指定すると、スケジュールは月の最初の金曜日にトリガーされます。3#5
を指定し、特定の月に火曜日が5回ない場合、スケジュールはその月にトリガーされません。
例
日次トリガーの設定
0 5 9 * * ?
- 毎日午前9時5分(UTC)にトリガーします。
0 5 9 * * ? 2020
- 2020年の毎日午前9時5分(UTC)にトリガーします。
トリガーを日や時間の範囲に制限する
0 5 9 ? * MON-FRI
- 月曜日から金曜日の午前9時5分(UTC)にトリガーします。
0 0-5 9 * * ?
- 毎日午前9時(UTC)から午前9時5分(UTC)まで毎分トリガーします。
間隔トリガーの設定
0 0/15 9 * * ?
- 毎日午前9時(UTC)から午前9時45分(UTC)まで15分ごとにトリガーします。
0 5 9 1/3 * ?
- 毎月の最初の日から始めて、3日ごとに午前9時5分(UTC)にトリガーします。
特定の日にトリガーされるスケジュールの設定
0 1 4 1 4 ?
- 毎年4月1日の午前4時1分(UTC)にトリガーします。
0 0,30 9 ? 4 WED
- 4月の毎週水曜日の午前9時(UTC)および午前9時30分(UTC)にトリガーします。
0 5 9 15 * ?
- 毎月15日の午前9時5分(UTC)にトリガーします。
0 5 9 15W * ?
- 毎月15日に最も近い平日の午前9時5分(UTC)にトリガーします。
0 5 9 ? * 6#1
- 毎月の最初の金曜日の午前9時5分(UTC)にトリガーします。
最後を使用したトリガーの設定
0 5 9 L * ?
- 毎月の最終日の午前9時5分(UTC)にトリガーします。
0 5 9 ? * 2L
- 毎月の最終月曜日の午前9時5分(UTC)にトリガーします。
0 5 9 LW * ?
- 毎月の最終平日の午前9時5分(UTC)にトリガーします。
インデックスおよびインデックスエイリアス名における日付数学のサポート
日付数学名解決により、すべてのインデックスを検索して結果をフィルタリングするのではなく、時間系列インデックスまたはインデックスエイリアスの範囲を検索できます。検索するインデックスの数を制限することで、クラスターの負荷を軽減し、検索パフォーマンスを向上させます。たとえば、日次ログのエラーを検索している場合、日付数学名テンプレートを使用して過去2日間に制限できます。
インデックスまたはインデックスエイリアス引数を受け入れるほとんどのAPIは日付数学をサポートしています。日付数学名は以下の形式を取ります:
Txt
<static_name{date_math_expr{date_format|time_zone}}><br>``````<br><br>次のように: <br><br>
| | |
| --- | --- |
| `````static_name````` | 静的テキスト |
| `````date_math_expr````` | 動的に日付を計算する日付数学式 |
| `````date_format````` | 計算された日付が表示されるオプションの形式。デフォルトは`````yyyy.MM.dd`````です。形式はjava-time [https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html](https://docs.oracle.com/javase/8/docs/api/java/time/format/DateTimeFormatter.html)と互換性がある必要があります。 |
| `````time_zone````` | オプションのタイムゾーン。デフォルトは`````UTC`````です。 |
`````date_format`````で使用される小文字と大文字の使用に注意してください。たとえば、`````mm`````は時間の分を示し、`````MM`````は年の月を示します。同様に、`````hh`````は`````1-12`````の範囲内の時間を`````AM/PM`````と組み合わせて示し、`````HH`````は`````0-23`````の24時間範囲内の時間を示します。
日付数学式はロケールに依存せずに解決されます。したがって、グレゴリオ暦以外のカレンダーを使用することはできません。
日付数学名は角括弧で囲む必要があります。リクエストパスで名前を使用する場合、特殊文字はURIエンコードする必要があります。たとえば:
#### Python
``````python
resp = client.indices.create(
index="<my-index-{now/d}>",
)
print(resp)
Ruby
response = client.indices.create(
index: '<my-index-{now/d}>'
)
puts response
Js
const response = await client.indices.create({
index: "<my-index-{now/d}>",
});
console.log(response);
コンソール
# PUT /
<my-index-{now/d}>
PUT /%3Cmy-index-%7Bnow%2Fd%7D%3E
日付数学文字のパーセントエンコーディング
日付の丸めに使用される特殊文字は、次のようにURIエンコードする必要があります:
< |
%3C |
|
> |
%3E |
|
/ |
%2F |
|
{ |
%7B |
|
} |
%7D |
|
````` | ````` | %7C |
+ |
%2B |
|
: |
%3A |
|
, |
%2C |
以下の例は、日付数学名の異なる形式と、現在の時刻が2024年3月22日正午UTCである場合に解決される最終名を示しています。
| 式 | 解決される名 |
| :— | :— |
| <logstash-{now/d}>
| logstash-2024.03.22
|
| <logstash-{now/M}>
| logstash-2024.03.01
|
| <logstash-{now/M{yyyy.MM}}>
| logstash-2024.03
|
| <logstash-{now/M-1M{yyyy.MM}}>
| logstash-2024.02
|
| <logstash-{now/d{yyyy.MM.dd|+12:00}}>
| logstash-2024.03.23
|
- `````<elastic\{ON\}-{now/M}>`````は`````elastic{ON}-2024.03.01`````に解決されます。
以下の例は、Logstashインデックスの過去3日間を検索するリクエストを示しています。インデックスがデフォルトのLogstashインデックス名形式`````logstash-YYYY.MM.dd`````を使用していると仮定します。
#### Php
``````php
$params = [
'index' => '%3Clogstash-%7Bnow%2Fd-2d%7D%3E%2C%3Clogstash-%7Bnow%2Fd-1d%7D%3E%2C%3Clogstash-%7Bnow%2Fd%7D%3E',
'body' => [
'query' => [
'match' => [
'test' => 'data',
],
],
],
];
$response = $client->search($params);
`
Python
resp = client.search(
index="<logstash-{now/d-2d}>,<logstash-{now/d-1d}>,<logstash-{now/d}>",
query={
"match": {
"test": "data"
}
},
)
print(resp)
Ruby
response = client.search(
index: '<logstash-{now/d-2d}>,<logstash-{now/d-1d}>,<logstash-{now/d}>',
body: {
query: {
match: {
test: 'data'
}
}
}
)
puts response
Go
res, err := es.Search(
es.Search.WithIndex("%3Clogstash-%7Bnow%2Fd-2d%7D%3E%2C%3Clogstash-%7Bnow%2Fd-1d%7D%3E%2C%3Clogstash-%7Bnow%2Fd%7D%3E"),
es.Search.WithBody(strings.NewReader(`{
"query": {
"match": {
"test": "data"
}
}
}`)),
es.Search.WithPretty(),
)
fmt.Println(res, err)
Js
const response = await client.search({
index: "<logstash-{now/d-2d}>,<logstash-{now/d-1d}>,<logstash-{now/d}>",
query: {
match: {
test: "data",
},
},
});
console.log(response);
コンソール
# GET /
<logstash-{now/d-2d}>,<logstash-{now/d-1d}>,<logstash-{now/d}>/_search
GET /%3Clogstash-%7Bnow%2Fd-2d%7D%3E%2C%3Clogstash-%7Bnow%2Fd-1d%7D%3E%2C%3Clogstash-%7Bnow%2Fd%7D%3E/_search
{
"query" : {
"match": {
"test": "data"
}
}
}
マルチターゲット構文
インデックス、<data-stream>
、<index>
、または<target>
リクエストパスパラメータを受け入れるほとんどのAPIは、マルチターゲット構文もサポートしています。
マルチターゲット構文では、カンマ区切りのリストを使用して、データストリーム、インデックス、またはエイリアスなどの複数のリソースでリクエストを実行できます:test1,test2,test3
。パターンに一致するリソースをターゲットにするために、グロブのようなワイルドカード(*
)式を使用することもできます:test*
または*test
またはte*t
または*test*
。
エイリアスはワイルドカード式の後に解決されます。これにより、除外されたエイリアスをターゲットにするリクエストが発生する可能性があります。たとえば、`````test3`````がインデックスエイリアスである場合、パターン`````test*,-test3`````は`````test3`````のインデックスをターゲットにします。これを避けるために、エイリアスの具体的なインデックスを除外してください。
`````-`````文字を使用して、検索するクラスターのリストからクラスターを除外することもできます:`````remote*:*,-remote1:*,-remote4:*`````は「remote」で始まるエイリアスを持つすべてのクラスターを検索しますが、「remote1」と「remote4」は除外されます。この表記法でクラスターを除外するには、そのインデックスをすべて除外する必要があります。リモートクラスターのインデックスのサブセットを除外することは現在サポートされていません。たとえば、これにより例外がスローされます:`````remote*:*,-remote1:logs*`````。
インデックスをターゲットにできるマルチターゲットAPIは、次のクエリ文字列パラメータをサポートします:
- `````ignore_unavailable
- (オプション、ブール値)
false
の場合、リクエストは欠落またはクローズされたインデックスをターゲットにするとエラーを返します。デフォルトはfalse
です。 allow_no_indices
- (オプション、ブール値)
false
の場合、リクエストはワイルドカード式、インデックスエイリアス、または_all
値が欠落またはクローズされたインデックスのみをターゲットにするとエラーを返します。この動作は、リクエストが他のオープンインデックスをターゲットにしている場合でも適用されます。たとえば、foo*,bar*
をターゲットにするリクエストは、foo
で始まるインデックスが存在しても、bar
で始まるインデックスが存在しない場合、エラーを返します。 expand_wildcards
- (オプション、文字列) ワイルドカードパターンが一致できるインデックスのタイプ。リクエストがデータストリームをターゲットにできる場合、この引数はワイルドカード式が隠されたデータストリームに一致するかどうかを決定します。カンマ区切りの値をサポートします。
open,hidden
のように。有効な値は:all
- すべてのデータストリームまたはインデックスに一致し、隠されたものも含まれます。
open
- オープンで非隠されたインデックスに一致します。また、非隠されたデータストリームにも一致します。
closed
- クローズされた非隠されたインデックスに一致します。また、非隠されたデータストリームにも一致します。データストリームはクローズできません。
hidden
- 隠されたデータストリームおよび隠されたインデックスに一致します。
open
、closed
、または両方と組み合わせる必要があります。 none
- ワイルドカードパターンは受け入れられません。
上記のパラメータのデフォルト設定は、使用されるAPIによって異なります。
インデックスをターゲットにできるいくつかのマルチターゲットAPIは、次のクエリ文字列パラメータもサポートします:
ignore_throttled
- (オプション、ブール値)
true
の場合、具体的、拡張された、またはエイリアスされたインデックスは凍結時に無視されます。デフォルトはtrue
です。[7.16.0] 7.16.0で非推奨になりました。
単一ターゲットのAPI、たとえばget document APIは、マルチターゲット構文をサポートしていません。
隠されたデータストリームとインデックス
ほとんどのAPIでは、ワイルドカード式はデフォルトで隠されたデータストリームとインデックスに一致しません。ワイルドカード式を使用して隠されたデータストリームとインデックスに一致させるには、expand_wildcards
クエリパラメータを指定する必要があります。
また、.watcher_hist*
のようにドットで始まるインデックスパターンをクエリすると、デフォルトで隠されたインデックスに一致します。これはUnixファイルグロビングの動作を反映し、隠されたインデックスへのスムーズな移行経路を提供することを目的としています。
隠されたデータストリームを作成するには、ストリームの一致するインデックステンプレートでdata_stream.hidden
をtrue
に設定します。隠されたインデックスは、index.hidden
インデックス設定を使用して隠すことができます。
データストリームのバックインデックスは自動的に隠されます。機械学習などの一部の機能は、隠されたインデックスに情報を保存します。
すべてのインデックスに一致するグローバルインデックステンプレートは、隠されたインデックスには適用されません。
システムインデックス
Elasticsearchモジュールおよびプラグインは、内部システムインデックスに構成および状態情報を保存できます。システムの運用に不可欠なデータを含むため、システムインデックスに直接アクセスしたり変更したりしないでください。
システムインデックスへの直接アクセスは非推奨であり、将来のメジャーバージョンでは許可されなくなります。
パラメータ
RESTパラメータ(HTTPを使用する場合、HTTP URLパラメータにマップされる)は、アンダースコアケースを使用する規約に従います。
クエリ文字列のリクエストボディ
非POSTリクエストに対してリクエストボディを受け入れないライブラリの場合、リクエストボディをsource
クエリ文字列パラメータとして渡すことができます。この方法を使用する場合、source_content_type
パラメータも、application/json
のようにソースの形式を示すメディアタイプ値で渡す必要があります。
REST APIバージョンの互換性
メジャーバージョンのアップグレードには、Elasticsearchとの対話に影響を与える多くの破壊的変更が含まれることがよくあります。非推奨ログを監視し、Elasticsearchをアップグレードする前にアプリケーションを更新することをお勧めしますが、必要な変更を調整することはアップグレードの障害になる可能性があります。
API互換性ヘッダーを含めることで、アップグレード後に変更なしで既存のアプリケーションを機能させることができます。これにより、Elasticsearchに対してREST APIの以前のバージョンを使用していることを伝えます。これらのヘッダーを使用すると、リクエストとレスポンスの構造を同じに保つことができますが、同じ動作を保証するものではありません。
Elasticsearch 8.0に対して7.xのリクエストおよびレスポンス形式を使用していることを伝えるには、`````compatible-with=7`````を設定します:
``````sh
Content-Type: application/vnd.elasticsearch+json; compatible-with=7
Accept: application/vnd.elasticsearch+json; compatible-with=7
`
HTTP 429リクエストが多すぎるステータスコードのプッシュバック
Elasticsearch APIは、クラスターがリクエストを処理するのに忙しすぎることを示すHTTP 429 Too Many Requests
ステータスコードで応答する場合があります。この場合、短い遅延の後に再試行することを検討してください。再試行も429 Too Many Requests
レスポンスを受け取った場合、各再試行の前に指数的にバックオフして遅延を延長します。
URLベースのアクセス制御
多くのユーザーは、URLベースのアクセス制御を使用してElasticsearchデータストリームおよびインデックスへのアクセスを保護するためにプロキシを使用します。マルチ検索、マルチ取得、およびバルクリクエストの場合、ユーザーはURL内およびリクエストボディ内の各個別リクエストでデータストリームまたはインデックスを指定する選択肢があります。これにより、URLベースのアクセス制御が難しくなる可能性があります。
ユーザーがURLで指定されたデータストリームまたはインデックスを上書きできないようにするには、rest.action.multi.allow_explicit_index
をfalse
に設定します。
これにより、Elasticsearchはリクエストボディ内で明示的にデータストリームまたはインデックスを指定したリクエストを拒否します。
ブール値
すべてのREST APIパラメータ(リクエストパラメータおよびJSONボディの両方)は、ブール値「false」をfalse
の値として提供することをサポートし、ブール値「true」をtrue
の値として提供することをサポートします。他のすべての値はエラーを引き起こします。
数値値
リクエストボディに数値パラメータを渡す場合、ネイティブの数値型の代わりに数値を含むstring
を使用できます。たとえば:
Python
resp = client.search(
size="1000",
)
print(resp)
Ruby
response = client.search(
body: {
size: '1000'
}
)
puts response
Js
const response = await client.search({
size: 1000,
});
console.log(response);
コンソール
POST /_search
{
"size": "1000"
}
レスポンスボディ内の整数値フィールドは、このマニュアルではinteger
(または時折long
)として説明されていますが、通常はそのような値に明示的な制限はありません。JSON、SMILE、CBOR、YAMLはすべて、任意の大きな整数値を許可します。レスポンスボディ内のinteger
フィールドが常に32ビット符号付き整数に収まるとは限らないと仮定しないでください。
バイトサイズ単位
データのバイトサイズを指定する必要がある場合、たとえばバッファサイズパラメータを設定する場合、値は単位を指定する必要があります。たとえば、10キロバイトの場合は10kb
のように指定します。これらの単位は1024の累乗を使用するため、1kb
は1024バイトを意味します。サポートされている単位は:
b |
バイト |
kb |
キロバイト |
mb |
メガバイト |
gb |
ギガバイト |
tb |
テラバイト |
pb |
ペタバイト |
距離単位
距離を指定する必要がある場合、たとえばGeo-distanceのdistance
パラメータでは、指定されていない場合のデフォルト単位はメートルです。他の単位で距離を指定することもできます。たとえば、"1km"
または"2mi"
(2マイル)。
単位の完全なリストは以下に示します:
マイル | mi またはmiles |
ヤード | yd またはyards |
フィート | ft またはfeet |
インチ | in またはinch |
キロメートル | km またはkilometers |
メートル | m またはmeters |
センチメートル | cm またはcentimeters |
ミリメートル | mm またはmillimeters |
海里 | NM 、nmi 、またはnauticalmiles |
時間単位
期間を指定する必要がある場合、例えば timeout
パラメータの場合、期間は単位を指定する必要があります。例えば、2日間の場合は 2d
のように指定します。サポートされている単位は次のとおりです:
d |
日 |
h |
時間 |
m |
分 |
s |
秒 |
ms |
ミリ秒 |
micros |
マイクロ秒 |
nanos |
ナノ秒 |
単位なしの量
単位なしの量とは、
「バイト」や「ヘルツ」、「メートル」、「ロングトン」のような「単位」を持たないことを意味します。
これらの量のいずれかが大きい場合、10,000,000 の場合は 10m、7,000 の場合は 7k のように表示します。ただし、87 の場合はそのまま 87 と表示します。サポートされている倍率は次のとおりです:
k |
キロ |
m |
メガ |
g |
ギガ |
t |
テラ |
p |
ペタ |