List of Built-In Directory Providers
This topic has not yet been written. The content below is from the topic description.
Table 3.1. List of built-in DirectoryProviders Class or shortcut name Description Properties ram Memory based directory, the directory will be uniquely identified (in the same deployment unit) by the @Indexed.index element none filesystem File system based directory. The directory used will be /< indexName > indexBase : Base directory indexName: override @Indexed.index (useful for sharded indexes) locking_strategy : optional, see Section 3.11, “LockFactory configuration” filesystem_access_type: allows to determine the exact type of FSDirectory implementation used by this DirectoryProvider. Allowed values are auto (the default value, selects NIOFSDirectory on non Windows systems, SimpleFSDirectory on Windows), simple (SimpleFSDirectory), nio (NIOFSDirectory), mmap (MMapDirectory). Make sure to refer to Javadocs of these Directory implementations before changing this setting. Even though NIOFSDirectory or MMapDirectory can bring substantial performace boosts they also have their issues. filesystem-master File system based directory. Like filesystem. It also copies the index to a source directory (aka copy directory) on a regular basis. The recommended value for the refresh period is (at least) 50% higher that the time to copy the information (default 3600 seconds - 60 minutes). Note that the copy is based on an incremental copy mechanism reducing the average copy time. DirectoryProvider typically used on the master node in a JMS back end cluster. The buffer_size_on_copy optimum depends on your operating system and available RAM; most people reported good results using values between 16 and 64MB. indexBase: Base directory indexName: override @Indexed.index (useful for sharded indexes) sourceBase: Source (copy) base directory. source: Source directory suffix (default to @Indexed.index). The actual source directory name being / refresh: refresh period in second (the copy will take place every refresh seconds). buffer_size_on_copy: The amount of MegaBytes to move in a single low level copy instruction; defaults to 16MB. locking_strategy : optional, see Section 3.11, “LockFactory configuration” filesystem_access_type: allows to determine the exact type of FSDirectory implementation used by this DirectoryProvider. Allowed values are auto (the default value, selects NIOFSDirectory on non Windows systems, SimpleFSDirectory on Windows), simple (SimpleFSDirectory), nio (NIOFSDirectory), mmap (MMapDirectory). Make sure to refer to Javadocs of these Directory implementations before changing this setting. Even though NIOFSDirectory or MMapDirectory can bring substantial performace boosts they also have their issues. filesystem-slave File system based directory. Like filesystem, but retrieves a master version (source) on a regular basis. To avoid locking and inconsistent search results, 2 local copies are kept. The recommended value for the refresh period is (at least) 50% higher that the time to copy the information (default 3600 seconds - 60 minutes). Note that the copy is based on an incremental copy mechanism reducing the average copy time. DirectoryProvider typically used on slave nodes using a JMS back end. The buffer_size_on_copy optimum depends on your operating system and available RAM; most people reported good results using values between 16 and 64MB. indexBase: Base directory indexName: override @Indexed.index (useful for sharded indexes) sourceBase: Source (copy) base directory. source: Source directory suffix (default to @Indexed.index). The actual source directory name being / refresh: refresh period in second (the copy will take place every refresh seconds). buffer_size_on_copy: The amount of MegaBytes to move in a single low level copy instruction; defaults to 16MB. locking_strategy : optional, see Section 3.11, “LockFactory configuration” retry_marker_lookup : optional, default to 0. Defines how many times, we look for the marker files in the source directory before failing. Waiting 5 seconds between each try. filesystem_access_type: allows to determine the exact type of FSDirectory implementation used by this DirectoryProvider. Allowed values are auto (the default value, selects NIOFSDirectory on non Windows systems, SimpleFSDirectory on Windows), simple (SimpleFSDirectory), nio (NIOFSDirectory), mmap (MMapDirectory). Make sure to refer to Javadocs of these Directory implementations before changing this setting. Even though NIOFSDirectory or MMapDirectory can bring substantial performace boosts they also have their issues. infinispan Infinispan based directory. Use it to store the index in a distributed grid, making index changes visible to all elements of the cluster very quickly. Also see Section 3.8, “Infinispan Directory configuration” for additional requirements and configuration settings. Infinispan needs a global configuration and additional dependencies; the settings defined here apply to each different index. locking_cachename: name of the Infinispan cache to use to store locks. data_cachename : name of the Infinispan cache to use to store the largest data chunks; this area will contain the largest objects, use replication if you have enough memory or switch to distribution. metadata_cachename: name of the Infinispan cache to use to store the metadata relating to the index; this data is rather small and read very often, it's recommended to have this cache setup using replication. chunk_size: large files of the index are split in smaller chunks, you might want to set the highest value efficiently handled by your network. Networking tuning might be useful.