package com.uas.search.console.b2b.service;

import com.uas.search.b2b.model.SPage;

/**
 * search-console-b2b下自用搜索接口
 * 
 * @author sunyj
 * @since 2016年11月10日 上午10:57:42
 */
public interface InnerSearchService {

	/**
	 * 根据id获取本地指定实体类的索引中的数据
	 * 
	 * @param id
	 * @param clazz
	 *            指定的实体类
	 * @return
	 */
	public <T> T getObjectById(Long id, Class<T> clazz);

	/**
	 * 分页获取本地指定实体类的索引中的所有数据
	 * 
	 * @param <T>
	 * 
	 * @param clazz
	 *            指定的实体类
	 * @param page
	 * @param size
	 * @return
	 */
	public <T> SPage<T> getAllObjects(Class<T> clazz, int page, int size);

	/**
	 * 获取本地指定实体类的索引中的所有数据，写入文件
	 * 
	 * @param <T>
	 * 
	 * @param clazz
	 *            指定的实体类
	 * @return
	 */
	public <T> String writeObjectsToFiles(Class<T> clazz);
}
