SearchSourceBuilder getSearchSourceBuilder(QueryWrapper queryWrapper) {
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder()
if (queryWrapper.query) {
sourceBuilder.query(queryWrapper.query)
}
if (queryWrapper.fields) {
sourceBuilder.fields(queryWrapper.fields)
}
// ... same for sorting, pagination, agregation, highlighting, etc.
return sourceBuilder
}
Last active
August 29, 2015 14:19
-
-
Save edamico/8f7a6d41f25a03eb33ce to your computer and use it in GitHub Desktop.
Code related to blog entry
void indexAll(){
elasticSearchHelper.withElasticSearch { Client client ->
MyDomainClass.list().each{ MyDomainClass instance ->
client.index {
index "myIndex"
type "myDomainClass"
id instance.id
source instance
}
}
}
IndexResponse search(ParamsWrapper queryWrapper){
elasticSearchHelper.withElasticSearch {Client client ->
SearchSourceBuilder sourceBuilder = getSearchSourceBuilder(queryWrapper)
SearchRequest request = new SearchRequest()
request.searchType(SearchType.DFS_QUERY_THEN_FETCH).indices(queryWrapper.indices).types(queryWrapper.types).source(sourceBuilder)
log.debug "Query:$sourceBuilder"
SearchResponse response = client.search(request).actionGet()
return new IndexResponse(response)
}
}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment