1

ElasticSearchTemplate을 사용하면 간단한 엔티티 클래스에서 색인을 쉽게 만들 수 있습니다.ElasticSearch Java API와 ElasticsearchTemplate

elasticsearchTemplate.createIndex(Book.class); 
    elasticsearchTemplate.putMapping(Book.class); 
    elasticsearchTemplate.refresh(Book.class); 

이이 spring-data-elasticsearch 및 운영 문자열에없이 순수 ES 자바 API을 달성 할 수있다 (JSON)을 :

@Document(indexName = "bookshop", type = "book", shards = 2, replicas = 2, refreshInterval = "-1") 
public class Book { 

    @Id 
    private String id; 
    @Field(type = FieldType.String, store = true) 
    private String title; 
} 

그것만큼 충분히 만들 : 나는 Book.java을 저장하고 싶은 말은 ?

답변

1

사실 자바 API는 그러나 다음과 같이 ES helpers 그래서 코드가 될 수있다있는 JSON이 필요합니다

CreateIndexResponse createIndexRequestBuilder = client().admin().indices() 
       .prepareCreate(INDEX_NAME) 
       .setSource(XContentFactory.jsonBuilder() 
         .startObject() 
         .field("title", "My Title 1") 
         .endObject() 
       ) 
       .setSettings(
         Settings.settingsBuilder() 
           .put("index.number_of_shards", 2) 
           .put("index.number_of_replicas", 2) 
       ) 
       .execute() 
       .actionGet(); 
관련 문제