Uploaded image for project: 'Lucene - Core'
  1. Lucene - Core
  2. LUCENE-6849

Add IndexWriter API to write segment(s) without refreshing them

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.4, 6.0
    • Component/s: None
    • Labels:
      None
    • Lucene Fields:
      New

      Description

      Today, the only way to have IndexWriter free up some heap is to invoke refresh or flush or close it, but these are all quite costly, and do much more than simply "move bytes to disk".

      I think we should add a simple API, e.g. "move the biggest in-memory segment to disk" to 1) give more granularity (there could be multiple in-memory segments), and 2) only move bytes to disk (not refresh, not fsync, etc.).

      This way apps that want to be more careful on how heap is used can have more control.

        Attachments

        1. LUCENE-6849.patch
          5 kB
          Michael McCandless

          Activity

            People

            • Assignee:
              mikemccand Michael McCandless
              Reporter:
              mikemccand Michael McCandless
            • Votes:
              1 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: