Spring Boot RestHighLevelClient 用于结合查询的 Elastic Search 示例

huangapple 未分类评论45阅读模式
英文:

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!

huangapple
  • 本文由 发表于 2020年4月3日 19:57:08
  • 转载请务必保留本文链接:https://java.coder-hub.com/61011387.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定