# elasticsearch java demo **Repository Path**: Samuelliu/elasticsearch-java-demo ## Basic Information - **Project Name**: elasticsearch java demo - **Description**: es 搜索引擎java api封装,安装es版本为2.3.4 ik分词器 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: es-test - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 3 - **Created**: 2016-11-10 - **Last Updated**: 2021-09-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Elasticsearch java api Elasticsearch 以下统称为es 安装需求 es version 2.3.4 es ik jdk1.8 使用方法: 见MainImpl.class SElastic.class ``` addDocument //新增一条数据 addDocuments //批量新增数据 delDocument //删除一条数据 updateDocument //更新一条 getDocument //获取一条数据(通过id) getDocuments_ik //根据条件获取数据 ik分词 ``` SElasticBase.class ``` /******** 基本参数 **********/ public String index; //索引 public String type; //类型 public String id; //对象id /******** 增量对象 **********/ private String jsonMap; //数据对象 /******** 查询分页 **********/ public int pageIndex; //分页-下标 public int pageSize; //分页-范围 /******** 查询条件 **********/ public List singleList; //全文内容 单string查询(ps:没有key) public List terms; //全文内容 特定字段key-value查询 public List ranges; //全文内容 范围查询 数组 (ps:被查询的参数必须为-数字类型,如果为字符类型则为匹配) /******** 显示条件 **********/ public List fields; //高亮字段 数组 public List sorts; //排序条件 数组 ``` SElasticRange.class ``` /** * -注释- * * -使用场景- * 用于查询特定范围的数据条目 * 栗子 价格为199-500的所有商品数据 * * -使用范围- * type控制 * must:获取必须满足范围条件的数据 * should:获取可以满足范围条件(可以不满足)的数据 * mustNot:获取必须在范围条件以外的数据 */ public String key; //查询字段名称 public String from; //其实范围(从0开始) public String to; //结束范围 public SESEnum type; //查询是非条件 ``` SElasticSingle.class ``` /** * -注释- * * -使用场景- * 用于查询全文中包含 特定value 的所有数据条目 * 栗子:查询所有字段数据包含"牛仔"字样的数据条目(可以不同字段) * * -使用范围- * type控制 * must:获取必须存在value数据条目 * should:获取存在value的数据条目(也可以不存在) * mustNot:获取不存在value的数据条目 */ public String value; //需要查询的字段 public SESEnum type; //查询是非条件 ``` SElasticSort.class ``` /** * -注释- * * -使用场景- * 用于将查询出来的数据根据某个字段进行排序 * 栗子:查询所有数据更具字段为"age" 进行 由高到低进行排序 * * -使用范围- * isASC_DESC控制 * 正序(大到小) isASC_DESC控制==false * 反序(小到大) isASC_DESC控制==true */ public String key; //查询的字段名称 public boolean isASC_DESC; //需要查询的数据 ``` SElasticTerm.class ``` /** * -注释- * * -使用场景- * 用于查询全文中 特定字段 特定value 的所有数据条目 * 栗子:查询所有字段为"info" 且数据为 value字样的数据条目 * * -使用范围- * type控制 * must:获取字段为key且其值满足value数据条目 * should:获取字段为key且其值满足value数据条目(也可以不满足) * mustNot:获取字段为key且其不满足value的数据条目 * * isPhrase控制 * true 精确匹配 * 栗子:目标数据"我们在一起",存在数据A:"我们不在一起"、B:"可能我们在一起",B将会被搜索出来,A不会 * false 非精确匹配 * 栗子:目标数据"我们在一起",存在数据A:"我们不在一起"、B:"可能我们在一起",AB都会被搜索出来 */ public String key; //查询的字段名称 public String value; //需要查询的数据 public boolean isPhrase; //是否精确匹配(默认false) public SESEnum type; //查询是非条件 ``` SESEnum.class ``` /** * -注释- * must 必须满足 * 栗子:must A , mustB 等于 A&&B * * should 非必需满足 * 栗子:must A , should B 等于 (&&A)||B * * mustNot 必须不满足 * 栗子:must A , mustNot B 等于 A && !B */ must, should, mustNot, ```