Example usage for org.springframework.data.elasticsearch.core.mapping ElasticsearchPersistentEntity getIndexName

List of usage examples for org.springframework.data.elasticsearch.core.mapping ElasticsearchPersistentEntity getIndexName

Introduction

In this page you can find the example usage for org.springframework.data.elasticsearch.core.mapping ElasticsearchPersistentEntity getIndexName.

Prototype

String getIndexName();

Source Link

Usage

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplate.java

@Override
public <T> boolean putMapping(Class<T> clazz) {
    ElasticsearchPersistentEntity<T> persistentEntity = getPersistentEntityFor(clazz);
    PutMappingRequestBuilder requestBuilder = client.admin().indices()
            .preparePutMapping(persistentEntity.getIndexName()).setType(persistentEntity.getIndexType());

    try {//from   w  w w.j a  v  a  2 s.c  o  m
        XContentBuilder xContentBuilder = buildMapping(clazz, persistentEntity.getIndexType(),
                persistentEntity.getIdProperty().getFieldName(), elasticsearchConverter.getMappingContext());
        return requestBuilder.setSource(xContentBuilder).execute().actionGet().isAcknowledged();
    } catch (Exception e) {
        throw new ElasticsearchException("Failed to build mapping for " + clazz.getSimpleName(), e);
    }
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplate.java

@Override
public <T> T queryForObject(GetQuery query, Class<T> clazz) {
    ElasticsearchPersistentEntity<T> persistentEntity = getPersistentEntityFor(clazz);
    GetResponse response = client/*w w w.  j av a 2s  .  c om*/
            .prepareGet(persistentEntity.getIndexName(), persistentEntity.getIndexType(), query.getId())
            .execute().actionGet();
    return mapResult(response.getSourceAsString(), clazz);
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplate.java

@Override
public <T> long count(SearchQuery query, Class<T> clazz) {
    ElasticsearchPersistentEntity<T> persistentEntity = getPersistentEntityFor(clazz);
    CountRequestBuilder countRequestBuilder = client.prepareCount(persistentEntity.getIndexName())
            .setTypes(persistentEntity.getIndexType());
    if (query.getQuery() != null) {
        countRequestBuilder.setQuery(query.getQuery());
    }/* w w w.  j  ava2s  .co  m*/
    return countRequestBuilder.execute().actionGet().getCount();
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplate.java

@Override
public <T> String delete(Class<T> clazz, String id) {
    ElasticsearchPersistentEntity persistentEntity = getPersistentEntityFor(clazz);
    return delete(persistentEntity.getIndexName(), persistentEntity.getIndexType(), id);
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplate.java

@Override
public <T> void delete(DeleteQuery deleteQuery, Class<T> clazz) {
    ElasticsearchPersistentEntity persistentEntity = getPersistentEntityFor(clazz);
    client.prepareDeleteByQuery(persistentEntity.getIndexName()).setTypes(persistentEntity.getIndexType())
            .setQuery(deleteQuery.getQuery()).execute().actionGet();
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplate.java

@Override
public <T> Page<T> moreLikeThis(MoreLikeThisQuery query, Class<T> clazz) {
    int startRecord = 0;
    ElasticsearchPersistentEntity persistentEntity = getPersistentEntityFor(clazz);
    String indexName = isNotBlank(query.getIndexName()) ? query.getIndexName()
            : persistentEntity.getIndexName();
    String type = isNotBlank(query.getType()) ? query.getType() : persistentEntity.getIndexType();

    Assert.notNull(indexName, "No 'indexName' defined for MoreLikeThisQuery");
    Assert.notNull(type, "No 'type' defined for MoreLikeThisQuery");
    Assert.notNull(query.getId(), "No document id defined for MoreLikeThisQuery");

    MoreLikeThisRequestBuilder requestBuilder = client.prepareMoreLikeThis(indexName, type, query.getId());

    if (query.getPageable() != null) {
        startRecord = query.getPageable().getPageNumber() * query.getPageable().getPageSize();
        requestBuilder.setSearchSize(query.getPageable().getPageSize());
    }//from   w ww.  j a va2s  . co m
    requestBuilder.setSearchFrom(startRecord);

    if (isNotEmpty(query.getSearchIndices())) {
        requestBuilder.setSearchIndices(toArray(query.getSearchIndices()));
    }
    if (isNotEmpty(query.getSearchTypes())) {
        requestBuilder.setSearchTypes(toArray(query.getSearchTypes()));
    }
    if (isNotEmpty(query.getFields())) {
        requestBuilder.setField(toArray(query.getFields()));
    }
    if (isNotBlank(query.getRouting())) {
        requestBuilder.setRouting(query.getRouting());
    }
    if (query.getPercentTermsToMatch() != null) {
        requestBuilder.setPercentTermsToMatch(query.getPercentTermsToMatch());
    }
    if (query.getMinTermFreq() != null) {
        requestBuilder.setMinTermFreq(query.getMinTermFreq());
    }
    if (query.getMaxQueryTerms() != null) {
        requestBuilder.maxQueryTerms(query.getMaxQueryTerms());
    }
    if (isNotEmpty(query.getStopWords())) {
        requestBuilder.setStopWords(toArray(query.getStopWords()));
    }
    if (query.getMinDocFreq() != null) {
        requestBuilder.setMinDocFreq(query.getMinDocFreq());
    }
    if (query.getMaxDocFreq() != null) {
        requestBuilder.setMaxDocFreq(query.getMaxDocFreq());
    }
    if (query.getMinWordLen() != null) {
        requestBuilder.setMinWordLen(query.getMinWordLen());
    }
    if (query.getMaxWordLen() != null) {
        requestBuilder.setMaxWordLen(query.getMaxWordLen());
    }
    if (query.getBoostTerms() != null) {
        requestBuilder.setBoostTerms(query.getBoostTerms());
    }

    SearchResponse response = requestBuilder.execute().actionGet();
    return mapResults(response, clazz, query.getPageable());
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplate.java

private <T> boolean createIndexWithSettings(Class<T> clazz) {
    ElasticsearchPersistentEntity<T> persistentEntity = getPersistentEntityFor(clazz);
    return client.admin().indices().create(Requests.createIndexRequest(persistentEntity.getIndexName())
            .settings(getSettings(persistentEntity))).actionGet().isAcknowledged();
}

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplate.java

public <T> void refresh(Class<T> clazz, boolean waitForOperation) {
    ElasticsearchPersistentEntity persistentEntity = getPersistentEntityFor(clazz);
    client.admin().indices().refresh(refreshRequest(persistentEntity.getIndexName()).force(waitForOperation))
            .actionGet();//from   ww  w . ja  va 2 s  .c  o  m
}