Skip to content

Re-evaluate warmers  #9331

@martijnvg

Description

@martijnvg

Warmers are great, but have to be used with caution, because you may end up caching things that are never end up being used and picking the right search request is not always straight forward. Also running the query phase of a search request you may end up doing more work for warming then is required for caching purposes.

Nowadays we have:

  • eager field data loading
  • eager norms loading
  • filter cache from 2.0 has been improved the only auto cache after a filter has been used a couple of times to make sure useless entries don't make it in the filter cache.

Warmers were added (around version 0.20) long before the above features/improvements were created. The only other benefit I can think of warmers give us, is that it warms up the inverted index, but this can also be done in a similar way Lucene's SimpleMergedSegmentWarmer is warming up (filling up the filesystem cache) the index. The SimpleMergedSegmentWarmer also access part of the term dictionary instead of running a query what would happen with warmers. I think just warming up the term directory is sufficient for warmers, also warming up the posting list may be too much as big chucks may end up never being accessed.

Maybe we should add a eager_loading option to field mappings, which can have the following options: fielddata, norms and index. (multiple values can be specified) This option will then supersede the other eager loading options.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions