spring-数据弹性搜索 const_score
spring-data-elasticsearch with const_score
我需要运行以下查询:
GET seg/seg/_search
{
"query": {
"constant_score": {
"filter": {
"exists": {
"field": "iseg"
}
},
"boost": 1.2
}
}
}
但我无法使用 spring-data-elasticsearch 轻松地 运行 这个。
- 有什么办法吗?
- spring-data-elasticsearch 是否很好地支持所有 elasticsearch 查询 DSL?
1) 是
使用模板:
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(constantScoreQuery(existsFilter("iseg")).boost(1.2f))
.withIndices("seg")
.withTypes("seg")
.build();
// when
Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForList(searchQuery, SampleEntity.class);
复制和修改的代码
使用存储库:
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(constantScoreQuery(existsFilter("iseg")).boost(1.2f))
.withIndices("seg")
.withTypes("seg")
.build();
// when
Page<SampleEntity> page = repository.search(query);
复制和修改的代码
2) 是 Spring 数据 Elasticsearch 使用 QueryBuilder 接口来处理 elasticsearch 部分的所有 Query DSL 请求。
我需要运行以下查询:
GET seg/seg/_search
{
"query": {
"constant_score": {
"filter": {
"exists": {
"field": "iseg"
}
},
"boost": 1.2
}
}
}
但我无法使用 spring-data-elasticsearch 轻松地 运行 这个。
- 有什么办法吗?
- spring-data-elasticsearch 是否很好地支持所有 elasticsearch 查询 DSL?
1) 是
使用模板:
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(constantScoreQuery(existsFilter("iseg")).boost(1.2f))
.withIndices("seg")
.withTypes("seg")
.build();
// when
Page<SampleEntity> sampleEntities = elasticsearchTemplate.queryForList(searchQuery, SampleEntity.class);
复制和修改的代码
使用存储库:
SearchQuery searchQuery = new NativeSearchQueryBuilder()
.withQuery(constantScoreQuery(existsFilter("iseg")).boost(1.2f))
.withIndices("seg")
.withTypes("seg")
.build();
// when
Page<SampleEntity> page = repository.search(query);
复制和修改的代码
2) 是 Spring 数据 Elasticsearch 使用 QueryBuilder 接口来处理 elasticsearch 部分的所有 Query DSL 请求。