Create a Distributed Lucene with Persistence Cache
A distributed Lucene cache deals with Lucene-based indexing and searching of documents. NCache allows you to specify your store type as distributed Lucene through the NCache Management Center and PowerShell. This section will explain how you can create a Distributed Lucene with Persistence cache.
For Distributed Lucene, it's strongly encouraged that you use a SSD to store your indexes instead of a HDD.
Using NCache Management Center
Launch the NCache Management Center by browsing to http://localhost:8251 or
<server-ip>:8251on Windows and Linux.
In the left navigation bar, click on Clustered Caches. This opens up the Clustered Caches page at
To create a new distributed Lucene cache, click on New.
- From the In-Memory Store Type dropdown menu, select Distributed Lucene with Persistence and specify the name of your cache. Click Next.
Distributed Lucene with Persistence supports JSON serialization only.
- Select the caching topology and set any advanced options like Operation Timeout and Statistic Replication Interval. Click Next.
Distributed Lucene with Persistence only supports the Partitioned and Partition-Replica Topologies.
- Specify the Cache Partition Size of the cache and add your cluster nodes by specifying the Server Node IP or Hostname of the machine and clicking on Add Node button. To add more nodes, click Add Node. Click Next once all the required nodes are added.
Cache size doesn't matter much in Distributed Lucene with Persistence as all documents are stored on a disk instead of the actual cache itself.
- You have two options, Create new indexes or Use existing indexes. Chose the former option and specify your index path in the field next to the Index Path label. The default path is C:\ProgramData\ncache\lucene-index. Once done, click on Validate Path. Once your Index Path has been validated, you will be prompted with a success notification and path will be updated as C:\ProgramData\ncache\lucene-index\demoLuceneCache. Click Next.
Unless the index path has been validated successfully, you can't proceed further with the cache creation process.
- Change the Cluster Port and Port Range if required. Enable pipelining for the cache if required by checking the Enable Pipelining checkbox. Set the Batch Interval for the duration after which the commands will be transmitted over the network in microseconds. Click Next.
- If you want to enable encryption and compression, check the Enable Encryption and Enable Compression checkboxes. If enabled, set the Providers and Key for encryption and Threshold Size for compression. Click Next.
In Advanced Options page, you can configure the following settings:
Eviction is disabled by default. You can enable it by checking the Enable Eviction checkbox. Configure the Eviction Policy accordingly.
You can also change the Eviction percentage by changing the value of the field next to the Eviction Percentage label.
You can change the Clean interval value. Default is 15 seconds.
This cache can be started automatically upon the completion of this process if you have check the Start this cache on Finish checkbox.
This cache will start automatically after service restart if you check the Auto start this cache on service startup.
- Click Finish to complete the process. Your created cache will appear in Clustered Caches page with the server nodes and their status and a success notification will be displayed in the notification panel.
You can also use the PowerShell to manage distributed Lucene caches by using the NCache supported PowerShell cmdlets.
The New-Cache PowerShell cmdlet is responsible for creating new caches.
The following command creates a cache named demoLuceneCache on the nodes 184.108.40.206 and 220.127.116.11. The
InMemoryStoreType is specified as DistributedLuceneWithPersistence and
LuceneIndexPath provided is C:\ProgramData\ncache\lucene-index. The
Topology is set as Partition-Replica.
New-Cache -Name demoLuceneCache -Server "18.104.22.168,22.214.171.124" -Size 1024 -InMemoryStoreType DistributedLuceneWithPersistence -LuceneIndexPath "C:\ProgramData\ncache\lucene-index\" -Topology Partition-Replica
The Start-Cache PowerShell cmdlet is responsible for starting already created caches.
The following command starts the distributed Lucene cache demoLuceneCache created previously on the node 126.96.36.199.
Start-Cache demoLuceneCache -Server 188.8.131.52