Authored by hugufei

Merge branch 'master' into 0815

... ... @@ -155,8 +155,7 @@ public class YohoIndexServiceImpl implements IYohoIndexService, ApplicationEvent
return Integer.valueOf(numberOfReplicas);
}
//获取索引配置的主分片数
int numberOfShards = MapUtils.getIntValue(indexSettings, "number_of_shards", 1);
return Math.max(1, numberOfDataNodes - numberOfShards);
return Math.max(1, numberOfDataNodes - 1);
} catch (Exception e) {
INDEX_REBUILD_LOG.error(e.getMessage(), e);
return 0;
... ... @@ -196,6 +195,13 @@ public class YohoIndexServiceImpl implements IYohoIndexService, ApplicationEvent
indexSettings.putAll(index.getAnalysisSettings());//设置分词器信息
indexSettings.put("max_result_window", "100000000");
indexSettings.put("number_of_replicas", this.genNumberOfReplicas(client, index.getIndexSettings()));//处理复制分片
//段合并策略
indexSettings.put("merge.policy.floor_segment", "2mb");
indexSettings.put("merge.policy.max_merged_segment", "1gb");
indexSettings.put("merge.scheduler.max_thread_count", 2);
indexSettings.put("merge.scheduler.max_merge_count",6);
client.createIndex(newRealIndexName, type, indexSettings, mappingContent);
// 打印索引设置
INDEX_REBUILD_LOG.info("rebuild [{}],step=[3.createTempIndex success],newRealIndexName = [{}], mappingContent=[{}],indexSettings=[{}]", yohoIndexName, newRealIndexName, mappingContent, indexSettings);
... ...
... ... @@ -80,7 +80,7 @@
<index>
<name>productindex</name>
<properties>
<property key="number_of_shards" value="1"/>
<property key="number_of_shards" value="2"/>
<property key="number_of_replicas" value="auto"/>
<property key="refresh_interval" value="10s"/>
<property key="translog.flush_threshold_size" value="100mb"/>
... ...
... ... @@ -80,7 +80,7 @@
<index>
<name>productindex</name>
<properties>
<property key="number_of_shards" value="1"/>
<property key="number_of_shards" value="2"/>
<property key="number_of_replicas" value="auto"/>
<property key="refresh_interval" value="${search.index.refresh_interval}"/>
<property key="translog.flush_threshold_size" value="${search.index.translog.flush_threshold_size}"/>
... ...