一致でAND演算子を使用する方法(Kibana開発ツール)

alammd

私は開発ツールを使用していますが、BellowQueryはKibanaDiscoverで正常に機能します

log.file.path:*MY.log*    AND "[COMMAND:HEARTBEAT]"  AND "[CHARGING:0]"

しかし、開発ツールで同じことをしているときは、HEARTBEATのみを取得しますが、0と1を充電するすべてのデータを表示しますが、必要なのは0だけです。


GET filebeat-*/_search
{
  "size": 1000,
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "log.file.path": "LOG.log"
          }
        },
        {
          "term": {
            "COMMAND": {
              "value": "HEARTBEAT"
            }
          }
        },
        {
          "term": {
            "CHARGING": {
              "value": "0"
            }
          }
        }
      ],
      "filter": {
        "range": {
          "@timestamp": {
            "gte": "now-15m"
          }
        }
      }
    }
  }
}

LOGマッピング同じログ私は2つの方法で取得しています。1つはメッセージで、logstashを使用してJsonとして変換しています。両方をここに追加しました。

{
  "_index": "filebeat-7.2.0-2019.09.14",
  "_type": "_doc",
  "_id": "Aps9MW0BBmrGS9dAswgZ",
  "_version": 1,
  "_score": null,
  "_source": {
    "ecs": {
      "version": "1.0.0"
    },
    "@version": "1",
    "message": "[COMMAND:HEARTBEAT],[GPS STATUS:true],[INFO:false],[SIGNAL:false],[ENGINE:0],[DOOR:0],[LON:0],[LAT:0],[SPEED:0.0],[HEADING:-1.0],[BATTERY:100.0%],[CHARGING:0],[O&E:CONNECTED],",


    "GPS-LOG": {
      "O&E": "CONNECTED",
      "GPS POS": "true",
      "ENGINE": "0",
      "COMMAND": "HEARTBEAT",
      "GSM_SIGNAL": "75",

      "CHARGING": "0",
      "HEADING": "-1.0",
      "FUEL": "0.0V/0.0%",
      "SPEED": "0.0",
      "GPS STATUS": "true",
      "ALARM": "NONE",
      "BATTERY": "100.0%",
      "TIMESTAMP": "null",
      "LON": "0",
      "LAT": "0",
      "DOOR": "0",
      "SERIAL": "1670",
      "SIGNAL": "false",
      "INFO": "false",
      "GPS_SATS": "11"
    },

私の本当のログはこれです

    18:15:53,909 DEBUG [com.] (default-threads - 57) (338)>[TIMESTAMP:Sun Sep 15 18:15:53 UTC 2019],[COMMAND:INFO],[GPS STATUS:true],[INFO:true],[SIGNAL:false],[ENGINE:0],[DOOR:0],[LON:90],[LAT:2],[SPEED:0.0],[HEADING:240.0],[BATTERY:83.0%],[CHARGING:0],[O&E:CONNECTED],[GSM_SIGNAL:100],[GPS_SATS:8],[GPS POS:true],[FUEL:0.0V/0.0%],[ALARM:NONE],[SERIAL:03AA]

助けてくれてありがとう

apt-get_install_skill

Kibana Discoveryは、Lucene構文(LuceneはElasticsearchが構築されている検索エンジン/テクノロジー)を使用して、データをクエリできるようにします。ただし、DevToolを介してリクエストを送信する場合は、基本的にElasticsearch RESTAPIを呼び出しますそこではLucene構文を使用できません

2番目の一致クエリが問題です。

完全に一致するものを検索したいとします(コマンド== HEARTBEAT;課金== 0)。ただし、一致クエリを使用すると、フィールドで全文検索実行できます。

一致クエリの代わりに、クエリという用語を使用する必要がありますしたがって、最初の一致クエリの後に、must-clause内に2つの用語クエリ(1つはコマンドフィールド用、もう1つは課金フィールド用)を定義します。mustを使用すると、その中のすべてのクエリにAND演算子が自動的に適用されることに注意してください

クエリは次のようになります(テストされていません)。

GET filebeat-*/_search
{
  "size": 1000,
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "log.file.path": "MYlog"
          }
        },
        {
          "term": {
            "command": {
              "value": "HEARTBEAT"
            }
          }
        },
        {
          "term": {
            "charging": {
              "value": 0
            }
          }
        }
      ],
      "filter": {
        "range": {
          "@timestamp": {
            "gte": "now-15m"
          }
        }
      }
    }
  }
}

または、コマンドで検索することもできます。キーワードフィールド。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

SphinxQLクエリビルダー-一致する複数の演算子や演算子を追加する方法

分類Dev

Chrome開発ツール-Javascriptで一致する名前またはID属性を見つけますか?

分類Dev

SQLでlike演算子を使用して完全数を一致させる方法

分類Dev

演算子>>オーバーロードエラーを解決する方法(「演算子>>」に一致しません)

分類Dev

+演算子を使用する場合の型の不一致

分類Dev

「* this」以外のもので範囲ベースのforループを使用すると、「演算子に一致しない*」が表示されるのはなぜですか?

分類Dev

開発者ツールで変数vscodeを使用する方法は?

分類Dev

開発ツールクエリで「OR」を使用する方法

分類Dev

Google AppsScriptのifループで部分一致を使用する方法

分類Dev

PowerShell一致演算子の使用方法

分類Dev

bashで正規表現演算子=〜を使用して繰り返される文字を一致させる方法は?

分類Dev

Like演算子を使用して、あるテーブルの文字列を別のテーブルの部分文字列に一致させる方法

分類Dev

javaを使用して、elasticsearchで一致クエリのデフォルト演算子をANDに変更するにはどうすればよいですか?

分類Dev

PowerShellの一致演算子を使用してバージョン文字列をテストできますか?

分類Dev

`エラーを完全にバイパスする方法: '演算子=='`に一致しませんか?

分類Dev

#ompを使用する場合、「演算子-」に一致しません

分類Dev

Lua-テーブルで演算子「and」を使用する方法は?

分類Dev

%in%演算子を使用したRでの部分的な文字列一致?

分類Dev

Sqlite FTS、一致演算子間でORを使用

分類Dev

範囲演算子を使用して、ファイルから一致するテキストを見つけることができません

分類Dev

強制一致演算子で式を失敗させる

分類Dev

Chrome開発ツールで「時計を追加」する方法は?

分類Dev

Chrome開発ツールでフェッチを再生する方法

分類Dev

エラーが発生し続ける '演算子>>'に一致しません;

分類Dev

PreactでReact開発ツールを使用する

分類Dev

一致するグループで「notin」を使用する

分類Dev

継承されたクラスで演算子のオーバーロードを使用して、C#の基本演算子と一致させるにはどうすればよいですか?

分類Dev

Coqプルーフで一致を処理する方法

分類Dev

Thymeleaf:Thymeleafを使用してJavaScriptでブール演算子を使用する方法

Related 関連記事

  1. 1

    SphinxQLクエリビルダー-一致する複数の演算子や演算子を追加する方法

  2. 2

    Chrome開発ツール-Javascriptで一致する名前またはID属性を見つけますか?

  3. 3

    SQLでlike演算子を使用して完全数を一致させる方法

  4. 4

    演算子>>オーバーロードエラーを解決する方法(「演算子>>」に一致しません)

  5. 5

    +演算子を使用する場合の型の不一致

  6. 6

    「* this」以外のもので範囲ベースのforループを使用すると、「演算子に一致しない*」が表示されるのはなぜですか?

  7. 7

    開発者ツールで変数vscodeを使用する方法は?

  8. 8

    開発ツールクエリで「OR」を使用する方法

  9. 9

    Google AppsScriptのifループで部分一致を使用する方法

  10. 10

    PowerShell一致演算子の使用方法

  11. 11

    bashで正規表現演算子=〜を使用して繰り返される文字を一致させる方法は?

  12. 12

    Like演算子を使用して、あるテーブルの文字列を別のテーブルの部分文字列に一致させる方法

  13. 13

    javaを使用して、elasticsearchで一致クエリのデフォルト演算子をANDに変更するにはどうすればよいですか?

  14. 14

    PowerShellの一致演算子を使用してバージョン文字列をテストできますか?

  15. 15

    `エラーを完全にバイパスする方法: '演算子=='`に一致しませんか?

  16. 16

    #ompを使用する場合、「演算子-」に一致しません

  17. 17

    Lua-テーブルで演算子「and」を使用する方法は?

  18. 18

    %in%演算子を使用したRでの部分的な文字列一致?

  19. 19

    Sqlite FTS、一致演算子間でORを使用

  20. 20

    範囲演算子を使用して、ファイルから一致するテキストを見つけることができません

  21. 21

    強制一致演算子で式を失敗させる

  22. 22

    Chrome開発ツールで「時計を追加」する方法は?

  23. 23

    Chrome開発ツールでフェッチを再生する方法

  24. 24

    エラーが発生し続ける '演算子>>'に一致しません;

  25. 25

    PreactでReact開発ツールを使用する

  26. 26

    一致するグループで「notin」を使用する

  27. 27

    継承されたクラスで演算子のオーバーロードを使用して、C#の基本演算子と一致させるにはどうすればよいですか?

  28. 28

    Coqプルーフで一致を処理する方法

  29. 29

    Thymeleaf:Thymeleafを使用してJavaScriptでブール演算子を使用する方法

ホットタグ

アーカイブ