spring boot2集成ES详解
/*** 声明 USER实体,注意有一个1对多关系的roles
**/@Document(indexName = "test-user", type = "user",replicas=0,shards=3)public class User {
@Id private String id;
@Field(type=FieldType.keyword) private String userName;
@Field(type=FieldType.Integer) private Integer age;
@Field(type=FieldType.Date) private Date birthday;
/**
* 声明分词器为ik_smart (注意 es要安装ik分词器插件)
*/ @Field(searchAnalyzer="ik_smart",analyzer="ik_smart",type=FieldType.text) private String description;
/**
* 1对多在spring-data-elasticsearch 统一为nested类型
**/ @Field(type=FieldType.Nested,includeInParent=true) private List roles;
public User() {}
public User(String userName,Integer age,Date birthday,String description) { this.userName = userName; this.age = age; this.birthday = birthday; this.description = description;
}
public String getId() { return id;
}
public void setId(String id) { this.id = id;
}
public String getUserName() { return userName;
}
public void setUserName(String userName) { this.userName = userName;
}
public Date getBirthday() { return birthday;
}
public void setBirthday(Date birthday) { this.birthday = birthday;
} public Integer getAge() { return age;
}
public void setAge(Integer age) { this.age = age;
}
public String getDescription() { return description;
}
public void setDescription(String description) { this.description = description;
}
public List getRoles() { return roles;
}
public void setRoles(List roles) { this.roles = roles;
}
}@Document(indexName = "test-role", type = "role",replicas=0,shards=3)public class Role {
@Id private String id;
@Field(type=FieldType.keyword) private String name;
@Field(type=FieldType.Date) private Date createTime;
@Field(searchAnalyzer="ik_smart",analyzer="ik_smart",type=FieldType.text) private String description;
public Role() {}
public Role(String name,String description,Date createTime) {this.name = name;this.description = description;this.createTime = createTime;
}
public String getId() { return id;
}
public void setId(String id) { this.id = id;
}
public String getName() { return name;
}
public void setName(String name) { this.name = name;
}
public Date getCreateTime() { return createTime;
}
public void setCreateTime(Date createTime) { this.createTime = createTime;
}
public String getDescription() { return description;
}
public void setDescription(String description) { this.description = description;
}
}
页:
[1]