Example usage for org.springframework.data.elasticsearch.core.query Query getTypes

List of usage examples for org.springframework.data.elasticsearch.core.query Query getTypes

Introduction

In this page you can find the example usage for org.springframework.data.elasticsearch.core.query Query getTypes.

Prototype

List<String> getTypes();

Source Link

Document

Get types to be searched

Usage

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

private <T> SearchRequestBuilder prepareSearch(Query query, Class<T> clazz) {
    if (query.getIndices().isEmpty()) {
        query.addIndices(retrieveIndexNameFromPersistentEntity(clazz));
    }//from  w w w.  j  av  a  2s.c  o m
    if (query.getTypes().isEmpty()) {
        query.addTypes(retrieveTypeFromPersistentEntity(clazz));
    }
    return prepareSearch(query);
}

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

private SearchRequestBuilder prepareSearch(Query query) {
    Assert.notNull(query.getIndices(), "No index defined for Query");
    Assert.notNull(query.getTypes(), "No type defined for Query");

    int startRecord = 0;
    SearchRequestBuilder searchRequestBuilder = client.prepareSearch(toArray(query.getIndices()))
            .setSearchType(DFS_QUERY_THEN_FETCH).setTypes(toArray(query.getTypes()));

    if (query.getPageable() != null) {
        startRecord = query.getPageable().getPageNumber() * query.getPageable().getPageSize();
        searchRequestBuilder.setSize(query.getPageable().getPageSize());
    }//from  w w  w .  jav  a 2  s  .c o m
    searchRequestBuilder.setFrom(startRecord);

    if (!query.getFields().isEmpty()) {
        searchRequestBuilder.addFields(toArray(query.getFields()));
    }

    if (query.getSort() != null) {
        for (Sort.Order order : query.getSort()) {
            searchRequestBuilder.addSort(order.getProperty(),
                    order.getDirection() == Sort.Direction.DESC ? SortOrder.DESC : SortOrder.ASC);
        }
    }
    return searchRequestBuilder;
}