英文:
Spring boot RestHighLevelClient Elastic Search on combine queries
问题
我有一个领域对象
public class Person {
private String name;
private String description;
private Long positionId;
// ---- 其他属性 ------
}
我想要在姓名(name)、描述(description)和职位ID(positionId)字段上搜索查询字符串。我可以通过使用 BoolQueryBuilder 来实现,但在 _score 上无法正常工作。
final BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
final QueryBuilder queryBuilder = QueryBuilders.queryStringQuery("查询文本");
boolQueryBuilder.filter(queryBuilder);
boolQueryBuilder.filter(QueryBuilders.termQuery("positionId", positionId));
searchSourceBuilder.query(boolQueryBuilder);
// ------- 执行搜索 -----------
注意:此代码有效,但所有分数都为 0.0,因此排序正常工作。
你有什么建议吗?
提前谢谢!
英文:
I have a domain
public class Person {
private String name;
private String description;
private Long positionId;
// ---- other props ------
}
and I want to search for query string on field name, description and positionId
I can make it works by using BoolQueryBuilder but It is not working on _score
final BoolQueryBuilder boolQueryBuilder = new BoolQueryBuilder();
final QueryBuilder queryBuilder = QueryBuilders.queryStringQuery("query text");
boolQueryBuilder.filter(queryBuilder);
boolQueryBuilder.filter(QueryBuilders.termQuery("positionId", positionId));
searchSourceBuilder.query(boolQueryBuilder);
// ------- performing search -----------
Noted This code is working but all scores are 0.0 so sorting is working
Do you have any recommendation ?
Thank you in advance!
专注分享java语言的经验与见解,让所有开发者获益!
评论