Folks, I am trying to get Lucene MMAP to work in solr.
I am assuming that when I configure MMAP the entire index will be loaded into RAM. Is that the right assumption ? I have tried the following ways for using MMAP: Option 1. Using the solr config below for MMAP configuration -Dorg.apache.lucene.FSDirectory.class=org.apache.lucene.store.MMapDirectory With this config, when I start solr with a 30G index, I expected that the RAM usage should go up, but it did not. Option 2. By Code Change I made the following code change : Changed org.apache.solr.core.StandardDirectoryFactory to use MMAP instead of FSDirectory. Code snippet pasted below. Could you help me to understand if these are the right way to use MMAP? Thanks much /ST. Code SNippet for Option 2: package org.apache.solr.core; /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import java.io.File; import java.io.IOException; import org.apache.lucene.store.Directory; import org.apache.lucene.store.MMapDirectory; /** * Directory provider which mimics original Solr FSDirectory based behavior. * */ public class StandardDirectoryFactory extends DirectoryFactory { public Directory open(String path) throws IOException { return MMapDirectory.open(new File(path)); } }