[英]Elasticsearch nested query aggregations
現在我做對了,您能建議我改善性能嗎?
我正在嘗試在我的Ruby on Rails應用程序中實現聚合過濾器(無關緊要)。 我正在使用以下條件查詢elasticsearch。
我需要的是使用某些條件過濾文檔,也通過嵌套文檔條件過濾它們。 我不需要任何排名或評分/排序。 我只需要在crawl_page_id
下聚合這樣的查詢。
任何幫助都非常感謝。
這是索引的映射:
{:created_at=>{:type=>"date"},
:updated_at=>{:type=>"date"},
:domain_id=>{:type=>"integer"},
:users=>{:type=>"integer"},
:new_users=>{:type=>"integer"},
:sessions=>{:type=>"integer"},
:pageviews=>{:type=>"integer"},
:session_duration=>{:type=>"integer"},
:bounces=>{:type=>"integer"},
:exits=>{:type=>"integer"},
:conversion_rate=>{:type=>"integer"},
:goals=>{:type=>"integer"},
:assists=>{:type=>"integer"},
:unique_referrers=>{:type=>"integer"},
:by_traffic_source=>{:type=>"nested",
:properties=>{
:source=>{:type=>"string", :index=>:not_analyzed},
:goals=>{:type=>"integer"},
:pageviews=>{:type=>"integer"},
:assists=>{:type=>"integer"}}},
:by_goals=>{:type=>"nested",
:properties=>{
:id=>{:type=>"integer"},
:goals=>{:type=>"integer"},
:assists=>{:type=>"integer"}}},
:url=>{:type=>"string"},
:timestamp=>{:type=>"date"},
:rdn_url=>{:type=>"string"},
:scheme=>{:type=>"string"},
:host=>{:type=>"string"},
:port=>{:type=>"integer"},
:path=>{:type=>"string"},
:query_string=>{:type=>"string"},
:crawl_page_id=>{:type=>"string"}
}
}
這對我有用。 有沒有更好的方法(明智)執行這樣的查詢?
{"query"=>
{"filtered"=>
{"query"=>{{"match_all"=>{}},
"filter"=>{
"bool"=>{
"must"=>[
{"term"=>{"domain_id"=>7721}},
{"range"=>{"goals"=>{"gte"=>0}}}
"nested"=>{"path"=>"by_traffic_source",
"filter"=>{
{"term"=>{"by_traffic_source.source"=>"organic"}}
}
}
}
]},
}
}
},
"aggs"=>{"crawl_pages"=>{"terms"=>{"field"=>"crawl_page_id", "size"=>200}}}}
沒關系,您可能沒有比這更好的了。
{"query"=>
{"filtered"=>
{"query"=>{{"match_all"=>{}},
"filter"=>{
"bool"=>{
"must"=>[
{"term"=>{"domain_id"=>7721}},
{"range"=>{"goals"=>{"gte"=>0}}}
"nested"=>{"path"=>"by_traffic_source",
"filter"=>{
{"term"=>{"by_traffic_source.source"=>"organic"}}
}
}
}
]},
}
}
},
"aggs"=>{"crawl_pages"=>{"terms"=>{"field"=>"crawl_page_id", "size"=>200}}}}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.