テストGrokパターンAPI

テキストの行に対してGrokパターンをテストします。詳細はGrokking grokを参照してください。

リクエスト

GET _text_structure/test_grok_pattern

POST _text_structure/test_grok_pattern

説明

テストGrokパターンAPIは、1つ以上のテキスト行に対してGrokパターンを実行することを可能にします。行がパターンに一致するかどうか、そして一致した部分文字列のオフセットと長さを返します。

クエリパラメータ

  • ecs_compatibility
  • (オプション、文字列)ECS準拠のGrokパターンとの互換性モード。構造ファインダーがGrokパターンを作成する際に、レガシーの代わりにECS Grokパターンを使用するかどうかを指定するためにこのパラメータを使用します。有効な値はdisabledv1です。デフォルト値はdisabledです。

リクエストボディ

  • grok_pattern
  • (必須、文字列)テキストの行に対して実行するGrokパターン。
  • text
  • (必須、文字列の配列)Grokパターンを実行するテキストの行。

Python

  1. resp = client.text_structure.test_grok_pattern(
  2. grok_pattern="Hello %{WORD:first_name} %{WORD:last_name}",
  3. text=[
  4. "Hello John Doe",
  5. "this does not match"
  6. ],
  7. )
  8. print(resp)

Ruby

  1. response = client.text_structure.test_grok_pattern(
  2. body: {
  3. grok_pattern: 'Hello %{WORD:first_name} %{WORD:last_name}',
  4. text: [
  5. 'Hello John Doe',
  6. 'this does not match'
  7. ]
  8. }
  9. )
  10. puts response

Js

  1. const response = await client.textStructure.testGrokPattern({
  2. grok_pattern: "Hello %{WORD:first_name} %{WORD:last_name}",
  3. text: ["Hello John Doe", "this does not match"],
  4. });
  5. console.log(response);

コンソール

  1. GET _text_structure/test_grok_pattern
  2. {
  3. "grok_pattern": "Hello %{WORD:first_name} %{WORD:last_name}",
  4. "text": [
  5. "Hello John Doe",
  6. "this does not match"
  7. ]
  8. }

APIは以下のレスポンスを返します:

コンソール-結果

  1. {
  2. "matches": [
  3. {
  4. "matched": true,
  5. "fields": {
  6. "first_name": [
  7. {
  8. "match": "John",
  9. "offset": 6,
  10. "length": 4
  11. }
  12. ],
  13. "last_name": [
  14. {
  15. "match": "Doe",
  16. "offset": 11,
  17. "length": 3
  18. }
  19. ]
  20. }
  21. },
  22. {
  23. "matched": false
  24. }
  25. ]
  26. }