Spring Data Elasticsearch

org.springframework.data.elasticsearch.core
Class ElasticsearchTemplate

java.lang.Object
  extended by org.springframework.data.elasticsearch.core.ElasticsearchTemplate
All Implemented Interfaces:
ElasticsearchOperations

public class ElasticsearchTemplate
extends Object
implements ElasticsearchOperations

ElasticsearchTemplate

Author:
Rizwan Idrees, Mohsin Husen, Artur Konczak

Constructor Summary
ElasticsearchTemplate(org.elasticsearch.client.Client client)
           
ElasticsearchTemplate(org.elasticsearch.client.Client client, ElasticsearchConverter elasticsearchConverter)
           
ElasticsearchTemplate(org.elasticsearch.client.Client client, ElasticsearchConverter elasticsearchConverter, ResultsMapper resultsMapper)
           
ElasticsearchTemplate(org.elasticsearch.client.Client client, EntityMapper entityMapper)
           
ElasticsearchTemplate(org.elasticsearch.client.Client client, ResultsMapper resultsMapper)
           
 
Method Summary
 Boolean addAlias(AliasQuery query)
          adding new alias
 void bulkIndex(List<IndexQuery> queries)
          Bulk index all objects.
<T> long
count(SearchQuery query)
          return number of elements found by given query
<T> long
count(SearchQuery searchQuery, Class<T> clazz)
          return number of elements found by given query
<T> boolean
createIndex(Class<T> clazz)
          Create an index for a class
<T> boolean
createIndex(Class<T> clazz, Object settings)
          Create an index for given class and Settings
 boolean createIndex(String indexName)
          Create an index for given indexName
 boolean createIndex(String indexName, Object settings)
          Create an index for given indexName and Settings
<T> String
delete(Class<T> clazz, String id)
          Delete the one object with provided id
 void delete(DeleteQuery deleteQuery)
          Delete all records matching the query
<T> void
delete(DeleteQuery deleteQuery, Class<T> clazz)
          Delete all records matching the query
 String delete(String indexName, String type, String id)
          Delete the one object with provided id
<T> boolean
deleteIndex(Class<T> clazz)
          Deletes an index for given entity
 boolean deleteIndex(String indexName)
          Deletes an index for given indexName
 void deleteType(String index, String type)
          Deletes a type in an index
 ElasticsearchConverter getElasticsearchConverter()
           
<T> Map
getMapping(Class<T> clazz)
          Get mapping for a class
 Map getMapping(String indexName, String type)
          Get mapping for a given indexName and type
protected  ResultsMapper getResultsMapper()
           
<T> Map
getSetting(Class<T> clazz)
          Get settings for a given class
 Map getSetting(String indexName)
          Get settings for a given indexName
 String index(IndexQuery query)
          Index an object.
<T> boolean
indexExists(Class<T> clazz)
          check if index is exists
 boolean indexExists(String indexName)
          check if index is exists for given IndexName
<T> Page<T>
moreLikeThis(MoreLikeThisQuery query, Class<T> clazz)
          more like this query to search for documents that are "like" a specific document.
<T> LinkedList<T>
multiGet(SearchQuery searchQuery, Class<T> clazz)
          Execute a multiGet against elasticsearch for the given ids
<T> LinkedList<T>
multiGet(SearchQuery searchQuery, Class<T> clazz, MultiGetResultMapper getResultMapper)
          Execute a multiGet against elasticsearch for the given ids with MultiGetResultMapper
<T> boolean
putMapping(Class<T> clazz)
          Create mapping for a class
<T> boolean
putMapping(Class<T> clazz, Object mapping)
          Create mapping for a class
 boolean putMapping(String indexName, String type, Object mapping)
          Create mapping for a given indexName and type
 Set<String> queryForAlias(String indexName)
          get all the alias pointing to specified index
<T> List<String>
queryForIds(SearchQuery query)
          Execute the query against elasticsearch and return ids
<T> List<T>
queryForList(CriteriaQuery query, Class<T> clazz)
          Execute the criteria query against elasticsearch and return result as List
<T> List<T>
queryForList(SearchQuery query, Class<T> clazz)
          Execute the search query against elasticsearch and return result as List
<T> List<T>
queryForList(StringQuery query, Class<T> clazz)
          Execute the string query against elasticsearch and return result as List
<T> T
queryForObject(CriteriaQuery query, Class<T> clazz)
          Execute the query against elasticsearch and return the first returned object
<T> T
queryForObject(GetQuery query, Class<T> clazz)
          Execute the query against elasticsearch and return the first returned object
<T> T
queryForObject(GetQuery query, Class<T> clazz, GetResultMapper mapper)
          Execute the query against elasticsearch and return the first returned object using custom mapper
<T> T
queryForObject(StringQuery query, Class<T> clazz)
          Execute the query against elasticsearch and return the first returned object
<T> Page<T>
queryForPage(CriteriaQuery criteriaQuery, Class<T> clazz)
          Execute the query against elasticsearch and return result as Page
<T> FacetedPage<T>
queryForPage(SearchQuery query, Class<T> clazz)
          Execute the query against elasticsearch and return result as Page
<T> FacetedPage<T>
queryForPage(SearchQuery query, Class<T> clazz, SearchResultMapper mapper)
          Execute the query against elasticsearch and return result as Page using custom mapper
<T> FacetedPage<T>
queryForPage(StringQuery query, Class<T> clazz)
          Execute the query against elasticsearch and return result as Page
<T> FacetedPage<T>
queryForPage(StringQuery query, Class<T> clazz, SearchResultMapper mapper)
          Execute the query against elasticsearch and return result as Page using custom mapper
static String readFileFromClasspath(String url)
           
<T> void
refresh(Class<T> clazz, boolean waitForOperation)
          refresh the index
 void refresh(String indexName, boolean waitForOperation)
          refresh the index
 Boolean removeAlias(AliasQuery query)
          removing previously created alias
 String scan(SearchQuery searchQuery, long scrollTimeInMillis, boolean noFields)
          Returns scroll id for scan query
<T> Page<T>
scroll(String scrollId, long scrollTimeInMillis, Class<T> clazz)
          Scrolls the results for give scroll id
<T> Page<T>
scroll(String scrollId, long scrollTimeInMillis, SearchResultMapper mapper)
          Scrolls the results for give scroll id using custom result mapper
 boolean typeExists(String index, String type)
          check if type is exists in an index
 org.elasticsearch.action.update.UpdateResponse update(UpdateQuery query)
          Partial update of the document
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ElasticsearchTemplate

public ElasticsearchTemplate(org.elasticsearch.client.Client client)

ElasticsearchTemplate

public ElasticsearchTemplate(org.elasticsearch.client.Client client,
                             EntityMapper entityMapper)

ElasticsearchTemplate

public ElasticsearchTemplate(org.elasticsearch.client.Client client,
                             ResultsMapper resultsMapper)

ElasticsearchTemplate

public ElasticsearchTemplate(org.elasticsearch.client.Client client,
                             ElasticsearchConverter elasticsearchConverter)

ElasticsearchTemplate

public ElasticsearchTemplate(org.elasticsearch.client.Client client,
                             ElasticsearchConverter elasticsearchConverter,
                             ResultsMapper resultsMapper)
Method Detail

createIndex

public <T> boolean createIndex(Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Create an index for a class

Specified by:
createIndex in interface ElasticsearchOperations

createIndex

public boolean createIndex(String indexName)
Description copied from interface: ElasticsearchOperations
Create an index for given indexName

Specified by:
createIndex in interface ElasticsearchOperations

putMapping

public <T> boolean putMapping(Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Create mapping for a class

Specified by:
putMapping in interface ElasticsearchOperations

putMapping

public <T> boolean putMapping(Class<T> clazz,
                              Object mapping)
Description copied from interface: ElasticsearchOperations
Create mapping for a class

Specified by:
putMapping in interface ElasticsearchOperations

putMapping

public boolean putMapping(String indexName,
                          String type,
                          Object mapping)
Description copied from interface: ElasticsearchOperations
Create mapping for a given indexName and type

Specified by:
putMapping in interface ElasticsearchOperations

getMapping

public Map getMapping(String indexName,
                      String type)
Description copied from interface: ElasticsearchOperations
Get mapping for a given indexName and type

Specified by:
getMapping in interface ElasticsearchOperations

getMapping

public <T> Map getMapping(Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Get mapping for a class

Specified by:
getMapping in interface ElasticsearchOperations

getElasticsearchConverter

public ElasticsearchConverter getElasticsearchConverter()
Specified by:
getElasticsearchConverter in interface ElasticsearchOperations
Returns:
Converter in use

queryForObject

public <T> T queryForObject(GetQuery query,
                            Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Execute the query against elasticsearch and return the first returned object

Specified by:
queryForObject in interface ElasticsearchOperations
Returns:
the first matching object

queryForObject

public <T> T queryForObject(GetQuery query,
                            Class<T> clazz,
                            GetResultMapper mapper)
Description copied from interface: ElasticsearchOperations
Execute the query against elasticsearch and return the first returned object using custom mapper

Specified by:
queryForObject in interface ElasticsearchOperations
Returns:
the first matching object

queryForObject

public <T> T queryForObject(CriteriaQuery query,
                            Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Execute the query against elasticsearch and return the first returned object

Specified by:
queryForObject in interface ElasticsearchOperations
Returns:
the first matching object

queryForObject

public <T> T queryForObject(StringQuery query,
                            Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Execute the query against elasticsearch and return the first returned object

Specified by:
queryForObject in interface ElasticsearchOperations
Returns:
the first matching object

queryForPage

public <T> FacetedPage<T> queryForPage(SearchQuery query,
                                       Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Execute the query against elasticsearch and return result as Page

Specified by:
queryForPage in interface ElasticsearchOperations
Returns:

queryForPage

public <T> FacetedPage<T> queryForPage(SearchQuery query,
                                       Class<T> clazz,
                                       SearchResultMapper mapper)
Description copied from interface: ElasticsearchOperations
Execute the query against elasticsearch and return result as Page using custom mapper

Specified by:
queryForPage in interface ElasticsearchOperations
Returns:

queryForList

public <T> List<T> queryForList(CriteriaQuery query,
                                Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Execute the criteria query against elasticsearch and return result as List

Specified by:
queryForList in interface ElasticsearchOperations
Returns:

queryForList

public <T> List<T> queryForList(StringQuery query,
                                Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Execute the string query against elasticsearch and return result as List

Specified by:
queryForList in interface ElasticsearchOperations
Returns:

queryForList

public <T> List<T> queryForList(SearchQuery query,
                                Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Execute the search query against elasticsearch and return result as List

Specified by:
queryForList in interface ElasticsearchOperations
Returns:

queryForIds

public <T> List<String> queryForIds(SearchQuery query)
Description copied from interface: ElasticsearchOperations
Execute the query against elasticsearch and return ids

Specified by:
queryForIds in interface ElasticsearchOperations
Returns:

queryForPage

public <T> Page<T> queryForPage(CriteriaQuery criteriaQuery,
                                Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Execute the query against elasticsearch and return result as Page

Specified by:
queryForPage in interface ElasticsearchOperations
Returns:

queryForPage

public <T> FacetedPage<T> queryForPage(StringQuery query,
                                       Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Execute the query against elasticsearch and return result as Page

Specified by:
queryForPage in interface ElasticsearchOperations
Returns:

queryForPage

public <T> FacetedPage<T> queryForPage(StringQuery query,
                                       Class<T> clazz,
                                       SearchResultMapper mapper)
Description copied from interface: ElasticsearchOperations
Execute the query against elasticsearch and return result as Page using custom mapper

Specified by:
queryForPage in interface ElasticsearchOperations
Returns:

count

public <T> long count(SearchQuery searchQuery,
                      Class<T> clazz)
Description copied from interface: ElasticsearchOperations
return number of elements found by given query

Specified by:
count in interface ElasticsearchOperations
Returns:

count

public <T> long count(SearchQuery query)
Description copied from interface: ElasticsearchOperations
return number of elements found by given query

Specified by:
count in interface ElasticsearchOperations
Returns:

multiGet

public <T> LinkedList<T> multiGet(SearchQuery searchQuery,
                                  Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Execute a multiGet against elasticsearch for the given ids

Specified by:
multiGet in interface ElasticsearchOperations
Returns:

multiGet

public <T> LinkedList<T> multiGet(SearchQuery searchQuery,
                                  Class<T> clazz,
                                  MultiGetResultMapper getResultMapper)
Description copied from interface: ElasticsearchOperations
Execute a multiGet against elasticsearch for the given ids with MultiGetResultMapper

Specified by:
multiGet in interface ElasticsearchOperations
Returns:

index

public String index(IndexQuery query)
Description copied from interface: ElasticsearchOperations
Index an object. Will do save or update

Specified by:
index in interface ElasticsearchOperations
Returns:
returns the document id

update

public org.elasticsearch.action.update.UpdateResponse update(UpdateQuery query)
Description copied from interface: ElasticsearchOperations
Partial update of the document

Specified by:
update in interface ElasticsearchOperations
Returns:

bulkIndex

public void bulkIndex(List<IndexQuery> queries)
Description copied from interface: ElasticsearchOperations
Bulk index all objects. Will do save or update

Specified by:
bulkIndex in interface ElasticsearchOperations

indexExists

public <T> boolean indexExists(Class<T> clazz)
Description copied from interface: ElasticsearchOperations
check if index is exists

Specified by:
indexExists in interface ElasticsearchOperations
Returns:

indexExists

public boolean indexExists(String indexName)
Description copied from interface: ElasticsearchOperations
check if index is exists for given IndexName

Specified by:
indexExists in interface ElasticsearchOperations
Returns:

typeExists

public boolean typeExists(String index,
                          String type)
Description copied from interface: ElasticsearchOperations
check if type is exists in an index

Specified by:
typeExists in interface ElasticsearchOperations
Returns:

deleteIndex

public <T> boolean deleteIndex(Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Deletes an index for given entity

Specified by:
deleteIndex in interface ElasticsearchOperations
Returns:

deleteIndex

public boolean deleteIndex(String indexName)
Description copied from interface: ElasticsearchOperations
Deletes an index for given indexName

Specified by:
deleteIndex in interface ElasticsearchOperations
Returns:

deleteType

public void deleteType(String index,
                       String type)
Description copied from interface: ElasticsearchOperations
Deletes a type in an index

Specified by:
deleteType in interface ElasticsearchOperations

delete

public String delete(String indexName,
                     String type,
                     String id)
Description copied from interface: ElasticsearchOperations
Delete the one object with provided id

Specified by:
delete in interface ElasticsearchOperations
Returns:
documentId of the document deleted

delete

public <T> String delete(Class<T> clazz,
                         String id)
Description copied from interface: ElasticsearchOperations
Delete the one object with provided id

Specified by:
delete in interface ElasticsearchOperations
Returns:
documentId of the document deleted

delete

public <T> void delete(DeleteQuery deleteQuery,
                       Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Delete all records matching the query

Specified by:
delete in interface ElasticsearchOperations

delete

public void delete(DeleteQuery deleteQuery)
Description copied from interface: ElasticsearchOperations
Delete all records matching the query

Specified by:
delete in interface ElasticsearchOperations

scan

public String scan(SearchQuery searchQuery,
                   long scrollTimeInMillis,
                   boolean noFields)
Description copied from interface: ElasticsearchOperations
Returns scroll id for scan query

Specified by:
scan in interface ElasticsearchOperations
Returns:

scroll

public <T> Page<T> scroll(String scrollId,
                          long scrollTimeInMillis,
                          Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Scrolls the results for give scroll id

Specified by:
scroll in interface ElasticsearchOperations
Returns:

scroll

public <T> Page<T> scroll(String scrollId,
                          long scrollTimeInMillis,
                          SearchResultMapper mapper)
Description copied from interface: ElasticsearchOperations
Scrolls the results for give scroll id using custom result mapper

Specified by:
scroll in interface ElasticsearchOperations
Returns:

moreLikeThis

public <T> Page<T> moreLikeThis(MoreLikeThisQuery query,
                                Class<T> clazz)
Description copied from interface: ElasticsearchOperations
more like this query to search for documents that are "like" a specific document.

Specified by:
moreLikeThis in interface ElasticsearchOperations
Returns:

createIndex

public boolean createIndex(String indexName,
                           Object settings)
Description copied from interface: ElasticsearchOperations
Create an index for given indexName and Settings

Specified by:
createIndex in interface ElasticsearchOperations

createIndex

public <T> boolean createIndex(Class<T> clazz,
                               Object settings)
Description copied from interface: ElasticsearchOperations
Create an index for given class and Settings

Specified by:
createIndex in interface ElasticsearchOperations

getSetting

public <T> Map getSetting(Class<T> clazz)
Description copied from interface: ElasticsearchOperations
Get settings for a given class

Specified by:
getSetting in interface ElasticsearchOperations

getSetting

public Map getSetting(String indexName)
Description copied from interface: ElasticsearchOperations
Get settings for a given indexName

Specified by:
getSetting in interface ElasticsearchOperations

refresh

public void refresh(String indexName,
                    boolean waitForOperation)
Description copied from interface: ElasticsearchOperations
refresh the index

Specified by:
refresh in interface ElasticsearchOperations

refresh

public <T> void refresh(Class<T> clazz,
                        boolean waitForOperation)
Description copied from interface: ElasticsearchOperations
refresh the index

Specified by:
refresh in interface ElasticsearchOperations

addAlias

public Boolean addAlias(AliasQuery query)
Description copied from interface: ElasticsearchOperations
adding new alias

Specified by:
addAlias in interface ElasticsearchOperations
Returns:

removeAlias

public Boolean removeAlias(AliasQuery query)
Description copied from interface: ElasticsearchOperations
removing previously created alias

Specified by:
removeAlias in interface ElasticsearchOperations
Returns:

queryForAlias

public Set<String> queryForAlias(String indexName)
Description copied from interface: ElasticsearchOperations
get all the alias pointing to specified index

Specified by:
queryForAlias in interface ElasticsearchOperations
Returns:

getResultsMapper

protected ResultsMapper getResultsMapper()

readFileFromClasspath

public static String readFileFromClasspath(String url)

Spring Data Elasticsearch

Copyright © 2011-2014-2014 Pivotal Software, Inc.. All Rights Reserved.