What's changed
- Most of the functionality is now in the class `SearchContext` (something similar was done earlier, but the idea has been extended and generalized.)
- Actual search is done as late as possible.
- Searching only picks up document uuids. A `PIT` is used transparently while collecting the full set of uuids.
- Accessing document contents first looks in a cache; if the document is not cached, it is fetched from Sumo.
- When a document is fetched from Sumo, up to 100 documents are actually fetched (the documen that is actually asked for, plus up to 99 documents following it in the list of uuids.)
- Filtering has been generalized, and is now described via a table.
- Document property access has been generalized, and is described via a table.
- The full set of property values is now extracted via composite aggregation. A `PIT` is used transparently while collecting the values.
iteration and realization are now available as virtual objects (this will be changed as soon as these have been added as actual, stored and indexed objects).
- The filter method can now take a complex parameter, where custom elasticsearch queries can be specified.
- Filters can be specified in arbitrary order. Example: `exp.cubes.cases` now returns a set of cases that contain cubes.
- `.cases`, `.iterations` and `.realizations` now returns cases, realizations and iterations present in a selection.
- The libraries `xtgeo` and `openvds` are only loaded (by `import`) if/when they are needed, so startup time is much faster.
**Full changelog:** https://github.com/equinor/fmu-sumo/compare/v1.2.6...v2.0.0