我需要运行以下查询:
GET seg/seg/_search
{
"query": {
"constant_score": {
"filter": {
"exists": {
"field": "iseg"
}
},
"boost": 1.2
}
}
}
但是我无法通过spring-data-elasticsearch轻松运行它。
答案 0 :(得分:0)
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 Data Elasticsearch使用QueryBuilder接口处理弹性搜索部分的所有Query DSL请求。