elasticsearch 中文分词、拼音分词使用示例
********************
示例
**************
pojo 层
People
@Data
@Document(indexName = "people3",type = "_doc")
public class People {
@Id
private Integer id;
@Field(type = FieldType.Keyword)
private String name;
@Field(type = FieldType.Text,analyzer = "ik_smart")
private String description;
@Field(type = FieldType.Text,analyzer = "hanlp")
private String description2;
@Field(type = FieldType.Text,analyzer = "pinyin")
private String description3;
@MultiField(mainField = @Field(type = FieldType.Text,analyzer = "ik_smart"),
otherFields = @InnerField(suffix = "inner", type = FieldType.Text, analyzer = "pinyin"))
private String description4;
@MultiField(mainField = @Field(type = FieldType.Text,analyzer = "hanlp"),
otherFields = @InnerField(suffix = "inner",type = FieldType.Text,analyzer = "pinyin"))
private String description5;
}
**************
controller 层
PeopleController
@RestController
public class PeopleController {
@Resource
private PeopleRepository peopleRepository;
@Resource
private ElasticsearchRestTemplate elasticsearchRestTemplate;
@PostConstruct
public void start(){
elasticsearchRestTemplate.putMapping(People.class);
}
@RequestMapping("/save")
public String save(){
People people=new People();
for (int i=0;i<10;i++){
pe