As often otherwise, using a subsearch is a great way to create correlating searches like this.
First run your subsearch that finds all clients that have downloaded .xap files, then matches this against clients that have attempted to download .jar files too. (An assumption in my search below is that the source IP exists in the field "s_ip" - if it doesn't, just change the field name to the correct one)
http_method="GET" cs_uri_path="*.jar" [search http_method="GET" http_content_type="application/x-silverlight-app" cs_uri_path="*.xap" | regex cs_uri_path="/\d{3,4}\.xap$" | fields s_ip]
I also took the liberty to add cs_uri_path="*.jar" . This should improve performance for your search because Splunk can narrow down the events it needs to read off disk before passing those on to the regex command.
EDIT: So, in order to weigh in a time factor here, I imagine you could do something like this:
http_method="GET" cs_uri_path="*.jar" [search http_method="GET" http_content_type="application/x-silverlight-app" cs_uri_path="*.xap" | regex cs_uri_path="/\d{3,4}\.xap$" | eval query="_time<"._time+5 | fields query s_ip]
This adds a _time constraint so you're only looking for .jar downloads 5 seconds after the .xap download. I haven't tried this out so I can't guarantee it'll work but it should 🙂
... View more