DATAES-13 added support for minimum score
This commit is contained in:
@@ -210,6 +210,10 @@ public class ElasticsearchTemplate implements ElasticsearchOperations {
|
||||
searchRequestBuilder.setQuery(QueryBuilders.matchAllQuery());
|
||||
}
|
||||
|
||||
if(criteriaQuery.getMinScore()>0){
|
||||
searchRequestBuilder.setMinScore(criteriaQuery.getMinScore());
|
||||
}
|
||||
|
||||
if (elasticsearchFilter != null)
|
||||
searchRequestBuilder.setFilter(elasticsearchFilter);
|
||||
|
||||
@@ -520,6 +524,10 @@ public class ElasticsearchTemplate implements ElasticsearchOperations {
|
||||
: SortOrder.ASC);
|
||||
}
|
||||
}
|
||||
|
||||
if(query.getMinScore()>0){
|
||||
searchRequestBuilder.setMinScore(query.getMinScore());
|
||||
}
|
||||
return searchRequestBuilder;
|
||||
}
|
||||
|
||||
|
||||
@@ -37,6 +37,7 @@ abstract class AbstractQuery implements Query {
|
||||
protected List<String> indices = new ArrayList<String>();
|
||||
protected List<String> types = new ArrayList<String>();
|
||||
protected List<String> fields = new ArrayList<String>();
|
||||
protected float minScore;
|
||||
|
||||
@Override
|
||||
public Sort getSort() {
|
||||
@@ -99,4 +100,12 @@ abstract class AbstractQuery implements Query {
|
||||
|
||||
return (T) this;
|
||||
}
|
||||
|
||||
public float getMinScore() {
|
||||
return minScore;
|
||||
}
|
||||
|
||||
public void setMinScore(float minScore) {
|
||||
this.minScore = minScore;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package org.springframework.data.elasticsearch.core.query;
|
||||
|
||||
import org.apache.commons.collections.CollectionUtils;
|
||||
import org.elasticsearch.common.cache.CacheBuilder;
|
||||
import org.elasticsearch.index.query.FilterBuilder;
|
||||
import org.elasticsearch.index.query.QueryBuilder;
|
||||
import org.elasticsearch.search.highlight.HighlightBuilder;
|
||||
@@ -45,6 +46,7 @@ public class NativeSearchQueryBuilder {
|
||||
private String[] indices;
|
||||
private String[] types;
|
||||
private String[] fields;
|
||||
private float minScore;
|
||||
|
||||
public NativeSearchQueryBuilder withQuery(QueryBuilder queryBuilder) {
|
||||
this.queryBuilder = queryBuilder;
|
||||
@@ -91,6 +93,11 @@ public class NativeSearchQueryBuilder {
|
||||
return this;
|
||||
}
|
||||
|
||||
public NativeSearchQueryBuilder withMinScore(float minScore) {
|
||||
this.minScore = minScore;
|
||||
return this;
|
||||
}
|
||||
|
||||
public NativeSearchQuery build() {
|
||||
NativeSearchQuery nativeSearchQuery = new NativeSearchQuery(queryBuilder, filterBuilder, sortBuilder, highlightFields);
|
||||
if (pageable != null) {
|
||||
@@ -108,6 +115,10 @@ public class NativeSearchQueryBuilder {
|
||||
if (CollectionUtils.isNotEmpty(facetRequests)) {
|
||||
nativeSearchQuery.setFacets(facetRequests);
|
||||
}
|
||||
|
||||
if(minScore>0){
|
||||
nativeSearchQuery.setMinScore(minScore);
|
||||
}
|
||||
return nativeSearchQuery;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -108,4 +108,10 @@ public interface Query {
|
||||
* @return
|
||||
*/
|
||||
List<String> getFields();
|
||||
|
||||
/**
|
||||
* Get minimum score
|
||||
* @return
|
||||
*/
|
||||
float getMinScore();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user