IYohoIndex.java 1.69 KB
package com.yoho.search.consumer.common;

import com.yoho.search.consumer.index.fullbuild.IIndexBuilder;
import com.yoho.search.core.es.IElasticsearchClient;

import java.util.List;
import java.util.Map;

public interface IYohoIndex {

	/**
	 * 获取索引属于的客户端
	 * @return
	 */
	public IElasticsearchClient getIndexClient();

	/**
	 * 获取索引名
	 * 
	 * @return
	 */
	public String getYohoIndexName();

	/**
	 * 设置索引名
	 * 
	 * @param name
	 */
	public void setYohoIndexName(String name);

	/**
	 * 获取索引配置属性
	 * 
	 * @return
	 */
	public Map<String, String> getIndexSettings();

	/**
	 * 设置索引配置属性
	 * 
	 * @param properties
	 */
	public void setIndexSettings(Map<String, String> properties);
	
	/**
	 * 获取分词器设置
	 * 
	 * @return
	 */
	public Map<String,Object> getAnalysisSettings();
	
	/**
	 * 设置分词器设置
	 * 
	 * @return
	 */
	public void setAnalysisSettings(Map<String, Object> analysisSettings);
	
	
	/**
	 * 获取索引建造器
	 * 
	 * @return
	 */
	public List<IIndexBuilder> getIndexBuilderList();

	/**
	 * 设置索引建造器的类名
	 * 
	 * @return
	 */
	public void setIndexBuilderClassName(String indexBuilderClassName);
	
	/**
	 * 获取索引建造器的类名
	 * @return
	 */
	public String getIndexBuilderClassName();
	
	/**
	 * 设置索引mapping文件
	 * 
	 * @return
	 */
	public void setMappingContent(String mappingContent);
	
	/**
	 * 获取索引mapping内容
	 * 
	 * @return
	 */
	public String getMappingContent();

    /**
     * 获取重建分页数
     */
    public Integer getRebuildPageSize();

    /**
     * 设置重建分页数
     */
    public void setRebuildPageSize(Integer rebuildPageSize);

}