@Service public class EsSearchServiceImpl extends Object implements EsSearchService
| 构造器和说明 |
|---|
EsSearchServiceImpl(org.elasticsearch.client.RestHighLevelClient restHighLevelClient) |
| 限定符和类型 | 方法和说明 |
|---|---|
List<Map<String,Object>> |
executeGroup(org.elasticsearch.action.search.SearchRequest searchRequest)
执行分组聚合统计
|
org.elasticsearch.action.search.SearchResponse |
executePage(org.elasticsearch.action.search.SearchRequest request)
执行分页查询
|
List<Map<String,Object>> |
getAll(org.elasticsearch.action.search.SearchRequest searchRequest)
查询所有
|
List<Map<String,Object>> |
getGroup(List<String> index,
List<EqDTO> eqDTOList,
List<String> terms,
List<String> fields,
String nested,
List<String> nestedFields,
List<List<List<ConditionDTO>>> listList,
String groupField)
分组统计示例
|
org.elasticsearch.action.search.SearchResponse |
getSearch(List<String> index,
Integer startPage,
Integer pageSize)
无条件分页检索示例
|
org.elasticsearch.action.search.SearchResponse |
getSearch(List<String> index,
List<EqDTO> eqDTOList,
List<String> terms,
List<String> fields,
String nested,
List<String> nestedFields,
List<SpecialDTO> specialDTOList,
List<ConditionDTO> conditionDTOList,
List<List<List<ConditionDTO>>> listList,
String highlightField,
Integer startPage,
Integer pageSize,
List<SortDTO> sortDTOList)
分页检索示例
|
org.elasticsearch.action.search.SearchResponse |
getSearchFile(List<String> index,
List<EqDTO> eqDTOList,
List<String> terms,
List<String> fields,
Integer startPage,
Integer pageSize,
List<SortDTO> sortDTOList)
文件检索示例
|
List<Map<String,Object>> |
handleSearchResponse(org.elasticsearch.action.search.SearchResponse searchResponse,
String highlightField)
高亮结果集 特殊处理
|
Map<String,Object> |
searchDataById(String index,
String esOnlyId,
String fields)
通过ID获取数据
|
org.elasticsearch.index.query.BoolQueryBuilder |
setAdvanced(List<ConditionDTO> conditionDTOList)
多条件常规拼接拼接结果效果类似于:
and (高级组合))
|
void |
setAdvancedList(org.elasticsearch.index.query.BoolQueryBuilder boolQueryBuilder,
List<List<List<ConditionDTO>>> listList)
设置多块指定条件 拼接结果效果类似于:
and ((高级组合) or (高级组合) or(高级组合))
and ((高级组合) or (高级组合) or(高级组合)) and ((高级组合) or (高级组合) or(高级组合)) ... |
void |
setAppointFields(org.elasticsearch.search.builder.SearchSourceBuilder sourceBuilder,
String fields)
设定指定检索字段
|
org.elasticsearch.index.query.BoolQueryBuilder |
setConditionByTerm(List<String> terms,
List<String> fields,
String nested,
List<String> nestedFields)
设置查询条件
|
org.elasticsearch.index.query.BoolQueryBuilder |
setConSymbol(String field,
String fieldValue,
String symbol)
判断拼接条件
|
org.elasticsearch.index.query.BoolQueryBuilder |
setEqCondition(org.elasticsearch.index.query.BoolQueryBuilder boolQueryBuilder,
List<EqDTO> eqDTOList)
设置字段等于多个值的条件拼接 拼接结果效果类似于:
and field1 in ('value1','value2','value3'...)
|
org.elasticsearch.index.query.BoolQueryBuilder |
setFieldsTerm(List<String> terms,
List<String> fields)
拼接常规条件
|
void |
setHighlightField(org.elasticsearch.search.builder.SearchSourceBuilder query,
String highlightField)
设置高亮
|
org.elasticsearch.index.query.BoolQueryBuilder |
setNestedFieldsTerm(String nested,
List<String> terms,
List<String> nestedFields)
拼接嵌套条件
|
void |
setOrderField(org.elasticsearch.search.builder.SearchSourceBuilder sourceBuilder,
List<SortDTO> list)
设置排序
|
void |
setPage(org.elasticsearch.search.builder.SearchSourceBuilder sourceBuilder,
Integer startPage,
Integer pageSize)
设置分页
|
void |
setSpecialDTOList(org.elasticsearch.index.query.BoolQueryBuilder bq,
List<SpecialDTO> specialDTOList)
设置拼接指定条件 拼接结果效果类似于:
and field1 like '%value1%'
and field2 like '%value2%' and field3 like '%value3%' ... |
public EsSearchServiceImpl(org.elasticsearch.client.RestHighLevelClient restHighLevelClient)
public Map<String,Object> searchDataById(String index, String esOnlyId, String fields) throws IOException
EsSearchServicesearchDataById 在接口中 EsSearchServiceIOException - IOExceptionpublic org.elasticsearch.action.search.SearchResponse getSearch(List<String> index, Integer startPage, Integer pageSize) throws IOException
EsSearchServicegetSearch 在接口中 EsSearchServiceIOException - IOExceptionpublic org.elasticsearch.action.search.SearchResponse getSearch(List<String> index, List<EqDTO> eqDTOList, List<String> terms, List<String> fields, String nested, List<String> nestedFields, List<SpecialDTO> specialDTOList, List<ConditionDTO> conditionDTOList, List<List<List<ConditionDTO>>> listList, String highlightField, Integer startPage, Integer pageSize, List<SortDTO> sortDTOList) throws IOException
EsSearchServicegetSearch 在接口中 EsSearchServiceIOException - IOExceptionpublic org.elasticsearch.action.search.SearchResponse getSearchFile(List<String> index, List<EqDTO> eqDTOList, List<String> terms, List<String> fields, Integer startPage, Integer pageSize, List<SortDTO> sortDTOList) throws IOException
EsSearchServicegetSearchFile 在接口中 EsSearchServiceIOException - IOExceptionpublic List<Map<String,Object>> getGroup(List<String> index, List<EqDTO> eqDTOList, List<String> terms, List<String> fields, String nested, List<String> nestedFields, List<List<List<ConditionDTO>>> listList, String groupField) throws IOException
EsSearchServicegetGroup 在接口中 EsSearchServiceIOException - IOExceptionpublic List<Map<String,Object>> executeGroup(org.elasticsearch.action.search.SearchRequest searchRequest) throws IOException
EsSearchServiceexecuteGroup 在接口中 EsSearchServiceIOException - IOExceptionpublic org.elasticsearch.action.search.SearchResponse executePage(org.elasticsearch.action.search.SearchRequest request)
throws IOException
EsSearchServiceexecutePage 在接口中 EsSearchServiceIOException - IOExceptionpublic List<Map<String,Object>> getAll(org.elasticsearch.action.search.SearchRequest searchRequest) throws IOException
EsSearchServicegetAll 在接口中 EsSearchServiceIOException - IOExceptionpublic org.elasticsearch.index.query.BoolQueryBuilder setEqCondition(org.elasticsearch.index.query.BoolQueryBuilder boolQueryBuilder,
List<EqDTO> eqDTOList)
EsSearchService
and field1 in ('value1','value2','value3'...)
and field2 in ('value1','value2','value3'...)
and field3 in ('value1','value2','value3'...)
...
setEqCondition 在接口中 EsSearchServicepublic void setAdvancedList(org.elasticsearch.index.query.BoolQueryBuilder boolQueryBuilder,
List<List<List<ConditionDTO>>> listList)
EsSearchService
and ((高级组合) or (高级组合) or(高级组合))
and ((高级组合) or (高级组合) or(高级组合))
and ((高级组合) or (高级组合) or(高级组合))
...
setAdvancedList 在接口中 EsSearchServicepublic org.elasticsearch.index.query.BoolQueryBuilder setAdvanced(List<ConditionDTO> conditionDTOList)
EsSearchService
and (高级组合))
setAdvanced 在接口中 EsSearchServicepublic void setSpecialDTOList(org.elasticsearch.index.query.BoolQueryBuilder bq,
List<SpecialDTO> specialDTOList)
EsSearchService
and field1 like '%value1%'
and field2 like '%value2%'
and field3 like '%value3%'
...
setSpecialDTOList 在接口中 EsSearchServicepublic org.elasticsearch.index.query.BoolQueryBuilder setConditionByTerm(List<String> terms, List<String> fields, String nested, List<String> nestedFields)
EsSearchServicesetConditionByTerm 在接口中 EsSearchServicepublic org.elasticsearch.index.query.BoolQueryBuilder setFieldsTerm(List<String> terms, List<String> fields)
EsSearchServicesetFieldsTerm 在接口中 EsSearchServicepublic org.elasticsearch.index.query.BoolQueryBuilder setNestedFieldsTerm(String nested, List<String> terms, List<String> nestedFields)
EsSearchServicesetNestedFieldsTerm 在接口中 EsSearchServicepublic org.elasticsearch.index.query.BoolQueryBuilder setConSymbol(String field, String fieldValue, String symbol)
EsSearchServicesetConSymbol 在接口中 EsSearchServicepublic void setAppointFields(org.elasticsearch.search.builder.SearchSourceBuilder sourceBuilder,
String fields)
EsSearchServicesetAppointFields 在接口中 EsSearchServicepublic void setPage(org.elasticsearch.search.builder.SearchSourceBuilder sourceBuilder,
Integer startPage,
Integer pageSize)
EsSearchServicesetPage 在接口中 EsSearchServicepublic void setOrderField(org.elasticsearch.search.builder.SearchSourceBuilder sourceBuilder,
List<SortDTO> list)
EsSearchServicesetOrderField 在接口中 EsSearchServicepublic void setHighlightField(org.elasticsearch.search.builder.SearchSourceBuilder query,
String highlightField)
EsSearchServicesetHighlightField 在接口中 EsSearchServicepublic List<Map<String,Object>> handleSearchResponse(org.elasticsearch.action.search.SearchResponse searchResponse, String highlightField)
EsSearchServicehandleSearchResponse 在接口中 EsSearchServiceCopyright © 2021 tan. All rights reserved.