Elasticsearchノート-002-API汎用オプションパラメータ
5470 ワード
[toc]
1.API共通オプションパラメータ
1.1. 結果データの美観、フォーマット ?pretty=trueはjson にフォーマットされます. ?format=yaml結果はyml として示す ?human=false閉鎖1 h/1 kb等人間化転換 1.2応答フィルタ:filter_path
1.2.1応答フィルタの使用法
元のリクエスト:
元の応答:
応答フィルタを追加:
追加後の応答:
1.2.2応答フィルタはワイルドカード「*」をサポートする
要求:
応答:
元の応答は上の1.2.1に列挙されている.
1.2.3応答フィルタリング:除外フィールド「-」
要求:
フィルタ後の応答:
1.2.4応答フィルタ:*-混用時、先に排除してからフィルタする
例1:
結果:
例2:
結果:
1.3時間単位
Days
Hours
Minutes
Seconds
Milliseconds
Microseconds
Nanoseconds
1.4バイト単位
Bytes
Kilobytes
Megabytes
Gigabytes
Terabytes
Petabytes
1.5印刷エラースタックトレース:error_trace=true
次の3つの出力を見てください
これは正しい時の出力です.
エラーパラメータsize=Yを伝えます
出力:
次に、完全なスタック情報の方法を見てみましょう.
outpu:
........多くの出力情報を省きました!
1.API共通オプションパラメータ
1.1. 結果データの美観、フォーマット
1.2.1応答フィルタの使用法
元のリクエスト:
GET /bank/_doc/1
元の応答:
{
"_index" : "bank",
"_type" : "_doc",
"_id" : "1",
"_version" : 3,
"_seq_no" : 1001,
"_primary_term" : 1,
"found" : true,
"_source" : {
"account_number" : 1,
"balance" : 39225,
"firstname" : "Amber",
"lastname" : "Duke",
"age" : 32,
"gender" : "M",
"address" : "880 Holmes Lane",
"employer" : "Pyrami",
"email" : "[email protected]",
"city" : "Brogan",
"state" : "IL"
}
}
応答フィルタを追加:
GET /bank/_doc/1?filter_path=_version,_source.firstname,_source.age,_source.balance
追加後の応答:
{
"_version" : 3,
"_source" : {
"balance" : 39225,
"firstname" : "Amber",
"age" : 32
}
}
1.2.2応答フィルタはワイルドカード「*」をサポートする
要求:
#
GET /bank/_doc/1?filter_path=_version,_source.*name,_source.age,_source.*e
応答:
{
"_version" : 3,
"_source" : {
"balance" : 39225,
"firstname" : "Amber",
"lastname" : "Duke",
"age" : 32,
"state" : "IL"
}
}
元の応答は上の1.2.1に列挙されている.
1.2.3応答フィルタリング:除外フィールド「-」
要求:
GET /bank/_doc/1?filter_path=-_type,-_source
フィルタ後の応答:
{
"_index" : "bank",
"_id" : "1",
"_version" : 3,
"_seq_no" : 1001,
"_primary_term" : 1,
"found" : true
}
_type
フィールドと_source
ノードは、すべて除外されています.1.2.4応答フィルタ:*-混用時、先に排除してからフィルタする
例1:
GET /bank/_doc/1?filter_path=_version,_source.*name,_source.age,_source.*e,-_source
結果:
{
"_version" : 3
}
例2:
GET /bank/_doc/1?filter_path=_version,_source.*name,_source.age,_source.*e,-_source.lastname
結果:
{
"_version" : 3,
"_source" : {
"balance" : 39225,
"firstname" : "Amber",
"age" : 32,
"state" : "IL"
}
}
1.3時間単位
2d
for 2 days d
Days
h
Hours
m
Minutes
s
Seconds
ms
Milliseconds
micros
Microseconds
nanos
Nanoseconds
1.4バイト単位
b
Bytes
kb
Kilobytes
mb
Megabytes
gb
Gigabytes
tb
Terabytes
pb
Petabytes
1.5印刷エラースタックトレース:error_trace=true
次の3つの出力を見てください
GET /library/_search?size=1&filter_path=hits.hits._source
{
"hits" : {
"hits" : [
{
"_source" : {
"title" : "Book #1",
"rating" : 200.1
}
}
]
}
}
これは正しい時の出力です.
エラーパラメータsize=Yを伝えます
GET /library/_search?size=Y&filter_path=hits.hits._source
出力:
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "Failed to parse int parameter [size] with value [Y]"
}
],
"type": "illegal_argument_exception",
"reason": "Failed to parse int parameter [size] with value [Y]",
"caused_by": {
"type": "number_format_exception",
"reason": "For input string: \"Y\""
}
},
"status": 400
}
次に、完全なスタック情報の方法を見てみましょう.
error_trace
GET /library/_search?size=Y&filter_path=hits.hits._source&error_trace=true
outpu:
{
"error": {
"root_cause": [
{
"type": "illegal_argument_exception",
"reason": "Failed to parse int parameter [size] with value [Y]",
"stack_trace": "[Failed to parse int parameter [size] with value [Y]]; nested: IllegalArgumentException[Failed to parse int parameter [size] with value [Y]]; nested: NumberFormatException.........."
}
],
"type": "illegal_argument_exception",
"reason": "Failed to parse int parameter [size] with value [Y]",
"caused_by": {
"type": "number_format_exception",
"reason": "For input string: \"Y\"",
"stack_trace": "java.lang.NumberFormatException: For input string: \"Y\"
\tat java.base/java.lang.NumberFormatException.forInputString(NumberFormatException.java:68)................"
},
"status": 400
}
........多くの出力情報を省きました!