Ah well its actually more complex than this.
In my first example, this is how it would be broken down algorithmically:
- Bucket everyone (lets say they are identified by IP Address), that hit the Home page into group P1.
- Now from P1, take everyone that subsequently hit the Results page (after the Home page) and put them into P2.
- Now from P2, take everyone that subsequently hit the Detail page (after the Home page -> Results) and put them into P3.
- Now from P3, take everyone that subsequently hit the Checkout page (after the Home page -> Results -> Detail) and put them into P4.
Note that Pn is conditional on P(n-1), for n > 1.
Now graph P1, P2, P3, P4 as a histogram.
I think we will be able to execute this kind of query with the Pipeline Aggregations -- https://www.elastic.co/guide/en/elasticsearch/reference/2.0/search-aggregations-pipeline.html -- in ES 2.0?