package org.fastcatsearch.ir.config; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; /** <index-config> <pk-term-interval>64</pk-term-interval> <pk-bucket-size>64K</pk-bucket-size> <term-interval>64</term-interval> <bucket-size>64K</bucket-size> <work-memory-size>128M</work-memory-size> <work-bucket-size>256</work-bucket-size> <compression-type>fast</compression-type> </index-config> * */ @XmlRootElement(name = "index-config") public class IndexConfig { public static final IndexConfig defaultConfig; static{ defaultConfig = new IndexConfig(); defaultConfig.pkTermInterval = 128; defaultConfig.pkBucketSize = 65536; defaultConfig.indexTermInterval = 128; defaultConfig.indexWorkBucketSize = 65536; defaultConfig.indexWorkMemorySize = 134217728; //128mb } private int pkTermInterval; private int pkBucketSize; private int indexTermInterval;// inmemory lexicon ratio = 1/indexTermInterval private int indexWorkBucketSize; private int indexWorkMemorySize;// limit memory use. if exeed this value, flush. @XmlElement(name="pk-term-interval") public int getPkTermInterval() { return pkTermInterval; } @XmlElement(name="pk-bucket-size") public int getPkBucketSize() { return pkBucketSize; } @XmlElement(name="term-interval") public int getIndexTermInterval() { return indexTermInterval; } @XmlElement(name="work-bucket-size") public int getIndexWorkBucketSize() { return indexWorkBucketSize; } @XmlElement(name="work-memory-size") public int getIndexWorkMemorySize() { return indexWorkMemorySize; } public void setPkTermInterval(int pkTermInterval) { this.pkTermInterval = pkTermInterval; } public void setPkBucketSize(int pkBucketSize) { this.pkBucketSize = pkBucketSize; } public void setIndexTermInterval(int indexTermInterval) { this.indexTermInterval = indexTermInterval; } public void setIndexWorkBucketSize(int indexWorkBucketSize) { this.indexWorkBucketSize = indexWorkBucketSize; } public void setIndexWorkMemorySize(int indexWorkMemorySize) { this.indexWorkMemorySize = indexWorkMemorySize; } }