/**
* 1. 根據條件查詢
* Execute the criteria query against elasticsearch and return result as {@link List}
*
* @param query 字段名稱邏輯拼接字段的值,支持排序和分頁
* @param clazz
* @param <T>
* @return
*/
<T> List<T> queryForList(CriteriaQuery query, Class<T> clazz);
/**
* 2. 根據字符串查詢
* Execute the string query against elasticsearch and return result as {@link List}
*
* @param query
* @param clazz
* @param <T>
* @return
*/
<T> List<T> queryForList(StringQuery query, Class<T> clazz);
/**
* 3. 根據搜索查詢
* Execute the search query against elasticsearch and return result as {@link List}
*
* @param query
* @param clazz
* @param <T>
* @return
*/
<T> List<T> queryForList(SearchQuery query, Class<T> clazz);
/**
* 4. 根據多搜索查詢
* 一個接口默認方法,實現類可以調用
* Execute the multi search query against elasticsearch and return result as {@link List}
*
* @param queries
* @param clazz
* @param <T>
* @return
*/
default <T> List<List<T>> queryForList(List<SearchQuery> queries, Class<T> clazz) {
return queryForPage(queries, clazz).stream().map(Page::getContent).collect(Collectors.toList());
}
/**
* 5. 通過ids,批量查詢
* Execute a multiGet against elasticsearch for the given ids
*
* @param searchQuery
* @param clazz
* @return
*/
<T> List<T> multiGet(SearchQuery searchQuery, Class<T> clazz);
/**
* 6. 通過ids和查詢條件,批量查詢
* Execute a multiGet against elasticsearch for the given ids with MultiGetResultMapper
*
* @param searchQuery
* @param clazz
* @param multiGetResultMapper
* @return
*/
<T> List<T> multiGet(SearchQuery searchQuery, Class<T> clazz, MultiGetResultMapper multiGetResultMapper);
ElasticsearchOperations查詢方法解析
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.