package com.nbclass.activity.service;

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

import com.alibaba.fastjson.JSONObject;
import com.nbclass.activity.model.Content;

/**
 * ES搜索
 * @author Leon
 * @datetime 2020年6月1日 下午3:00:41
 */
public interface ElasticSearchService {

	/**
	 * 添加或修改文档索引
	 * @param entity
	 */
	public void merge(Content entity);

	/**
	 * 删除
	 * @param ids
	 */
	public void deleteDocByIds(List<Long> ids);

	/**
	 * 根据条件删除
	 * @param entity
	 */
	public void deleteDocByQuery(Content entity);

	/**
	 * 判断一个文档是否存在
	 * @param id
	 * @return
	 */
	public boolean existDoc(Long id);

    /**
     * 根据id查询
     * @param id
     * @return entity
     */
	public Content findById(Long id);

	/**
	 * 根据条件查询列表
	 * @param pageNum
	 * @param pageSize
	 * @param type 案例类型
	 * @param keyWord 关键词
	 * @param tagIds 标签ID, 多个英文逗号分隔
	 * @param sourceIds 案例来源ID, 多个英文逗号分隔
	 * @return
	 */
	public Map<String, Object> getList(Integer pageNum, Integer pageSize, String type, String keyWord, String tagIds, String sourceIds);


}
