: 2) use multivalued fields as correlated vectors, so the first start : date corresponds : to the first end date corresponds to the first lat and long value. : You get them all back : in a query though, so your app would need to do extra work to sort : out which matched.
if you expect a bounded number of correlated "events" per item, you can use dynaimc fields, and build up N correlated subqueries where N is the upper bound on the number of events you expect any item to have, ie... (+lat1:[x TO y] +lon1:[w TO z] +time1:[a TO b]) OR (+lat2:[x TO y] +lon2:[w TO z] +time2:[a TO b]) OR (+lat3:[x TO y] +lon3:[w TO z] +time3:[a TO b]) ... -Hoss