diff --git a/src/main/java/org/codelibs/fess/es/client/FessEsClient.java b/src/main/java/org/codelibs/fess/es/client/FessEsClient.java
index 028dac5c4..85ef280fe 100644
--- a/src/main/java/org/codelibs/fess/es/client/FessEsClient.java
+++ b/src/main/java/org/codelibs/fess/es/client/FessEsClient.java
@@ -396,6 +396,7 @@ public class FessEsClient implements Client {
dictionaryPath = dictionaryPath + "/";
}
source = source.replaceAll(Pattern.quote("${fess.dictionary.path}"), dictionaryPath);
+ source = source.replaceAll(Pattern.quote("${fess.index.codec}"), fessConfig.getIndexCodec());
final CreateIndexResponse indexResponse =
client.admin().indices().prepareCreate(indexName).setSource(source, XContentType.JSON).execute()
.actionGet(fessConfig.getIndexIndicesTimeout());
diff --git a/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java b/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java
index 777559077..298000bdf 100644
--- a/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java
+++ b/src/main/java/org/codelibs/fess/mylasta/direction/FessConfig.java
@@ -321,6 +321,9 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
/** The key of the configuration. e.g. 10485760 */
String INDEXER_DATA_MAX_DOCUMENT_REQUEST_SIZE = "indexer.data.max.document.request.size";
+ /** The key of the configuration. e.g. default */
+ String INDEX_CODEC = "index.codec";
+
/** The key of the configuration. e.g. favorite_count */
String INDEX_FIELD_favorite_count = "index.field.favorite_count";
@@ -2305,6 +2308,14 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
*/
Integer getIndexerDataMaxDocumentRequestSizeAsInteger();
+ /**
+ * Get the value for the key 'index.codec'.
+ * The value is, e.g. default
+ * comment: index setting
+ * @return The value of found property. (NotNull: if not found, exception but basically no way)
+ */
+ String getIndexCodec();
+
/**
* Get the value for the key 'index.field.favorite_count'.
* The value is, e.g. favorite_count
@@ -6001,6 +6012,10 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
return getAsInteger(FessConfig.INDEXER_DATA_MAX_DOCUMENT_REQUEST_SIZE);
}
+ public String getIndexCodec() {
+ return get(FessConfig.INDEX_CODEC);
+ }
+
public String getIndexFieldFavoriteCount() {
return get(FessConfig.INDEX_FIELD_favorite_count);
}
@@ -7801,6 +7816,7 @@ public interface FessConfig extends FessEnv, org.codelibs.fess.mylasta.direction
defaultMap.put(FessConfig.INDEXER_WEBFS_MAX_DOCUMENT_REQUEST_SIZE, "10485760");
defaultMap.put(FessConfig.INDEXER_DATA_MAX_DOCUMENT_CACHE_SIZE, "5");
defaultMap.put(FessConfig.INDEXER_DATA_MAX_DOCUMENT_REQUEST_SIZE, "10485760");
+ defaultMap.put(FessConfig.INDEX_CODEC, "default");
defaultMap.put(FessConfig.INDEX_FIELD_favorite_count, "favorite_count");
defaultMap.put(FessConfig.INDEX_FIELD_click_count, "click_count");
defaultMap.put(FessConfig.INDEX_FIELD_config_id, "config_id");
diff --git a/src/main/resources/fess_config.properties b/src/main/resources/fess_config.properties
index 385598a45..c650275a7 100644
--- a/src/main/resources/fess_config.properties
+++ b/src/main/resources/fess_config.properties
@@ -173,6 +173,9 @@ indexer.webfs.max.document.request.size=10485760
indexer.data.max.document.cache.size=5
indexer.data.max.document.request.size=10485760
+# index setting
+index.codec=default
+
# field names
index.field.favorite_count=favorite_count
index.field.click_count=click_count
diff --git a/src/main/resources/fess_indices/fess.json b/src/main/resources/fess_indices/fess.json
index 7d38b7a90..838f6fece 100644
--- a/src/main/resources/fess_indices/fess.json
+++ b/src/main/resources/fess_indices/fess.json
@@ -1,6 +1,7 @@
{
"settings": {
"index": {
+ "codec": "${fess.index.codec}",
"refresh_interval": "1s",
"number_of_shards": 5,
"number_of_replicas": 0