Hi,- it would be nice to create a Lucene index in files and then effectively load it into memory once (since i use in read-only mode). I am looking into if this is doable in Lucene.
i wish there were an option to load whole Lucene index into memory: Both of below urls have links to the blog url where i quoted a very nice section: https://lucene.apache.org/core/8_5_0/core/org/apache/lucene/store/MMapDirectory.html https://lucene.apache.org/core/8_5_2/core/org/apache/lucene/store/MMapDirectory.html This following blog mentions about such option to run in the memory: (see the underlined sentence below) https://blog.thetaphi.de/2012/07/use-lucenes-mmapdirectory-on-64bit.html?m=1 MMapDirectory will not load the whole index into physical memory. Why should it do this? We just ask the operating system to map the file into address space for easy access, by no means we are requesting more. Java and the O/S optionally provide the option to try loading the whole file into RAM (if enough is available), but Lucene does not use that option (we may add this possibility in a later version). My question is: is there such an option? is the method setPreLoad for this purpose: to load all Lucene lndex into memory? I would like to use MMapDirectory and set my JVM heap to 16G or a bit less (since my index is around this much). The Lucene 8.5.2 (8.5.0 as well) javadocs say: public void setPreload(boolean preload) Set to true to ask mapped pages to be loaded into physical memory on init. The behavior is best-effort and operating system dependent. For example Lucene 4.0.0 does not have setPreLoad method. https://lucene.apache.org/core/4_0_0/core/org/apache/lucene/store/MMapDirectory.html Happy Holidays Best regards Ps. i know there is also BytesBuffersDirectory class for in memory Lucene but this requires creating Lucene Index on the fly. This is great for only such kind of Lucene indexes that can be created quickly on the fly. Ekaterina has a nice article on this BytesBuffersDirectory class: https://medium.com/@ekaterinamihailova/in-memory-search-and-autocomplete-with-lucene-8-5-f2df1bc71c36