私はElasticsearchを使用してシステムの脆弱性を保存しています。 >集約、「脆弱性の数」 - - query_all
検索や関連total
今の私の一般的なエントリはネストされたリストのアイテムを照会する方法はありますか?
{
_id: somenadomid
_source: {
"ip": "10.10.10.10",
"vuln_name": "v1",
"vuln_type": 1
}
である。このアプローチは、(「タイプ1のvulnとマシンの数を」クエリを簡素化する利点を持っています値、...)。
- 情報重くdemultipliedです:
それはasloは特に欠点を持っている一つのホストについての情報は、すべての脆弱性
- コピーされそこに脆弱性と同じくらい多くの行があり、ないホスト(50倍
- 天然の容器は「脆弱」ではなく「宿主」であり、より簡単に更新、削除などが可能です。
そこで私は、「ホスト」ベース1に方式を変更検討しています:私はに実行している問題は、私はまだ根本的な脆弱性を照会し、「爆発」する方法がわからないということです
{
_id: machine1
_source: {
"ip": "10.10.10.10",
"vuln": [
{
"name": "v1",
"type": 1
},
{
"name": "v2",
"type": 1
}
]
}
それらはクエリ内にあります。タイプ1のいくつかのvulnsがあることができます - 具体的に(私は私の問題は、クエリのこのファミリーの周りに引き寄せられるだろうと考えている)、私は
type
1の脆弱性の総数(ないホストを照会することができますどのようにホストごとのエントリを取得します)
- 上記のものと同じですが、脆弱性名(「
name
の「Microsoft」を含むtype
1の脆弱性の数)フィルタリングは、ホストではなく、脆弱性の機能上にあります)