如何对具有条件的实体进行默认 ElasticSearch 操作(字段 LIKE not EQUAL)

How to make default ElasticSearch operation on entity with conditon( field LIKE not EQUAL )

我是 ElasticSearch 功能的新手,我有一个名为 project
的生成实体 此项目实体有(名称、描述、预算和其他更多字段)
默认情况下,启用 ElasticSearch jhipster 创建一个搜索框字段,看起来它会执行此 sql 请求

 SELECT * from Project WHERE name="fieldValue" OR description ="fieldValue" OR ....

下面是我的 ProjectServiceImpl

中的 search 方法
@Transactional(readOnly = true)
public Page<ProjectDTO> search(String query, Pageable pageable) { 
    return projectSearchRepository.search(queryStringQuery(query), pageable)
        .map(projectMapper::toDto);
}

但我想列出具有(条件 WHERE name LIKE fieldValue OR description LIKE fieldValue ...)

老实说,我是 ElasticSearch 的新手,我不知道如何使用 QueryStringQueryBuilder,我用谷歌搜索了很多,但我没有找到具体的例子感谢您的帮助。

我创建了一个解决方法,只是我已经使用 QueryBuilder 并在两个星号之间传递查询参数 *

 public Page<ProjectDTO> search(String query, Pageable pageable) { 

       QueryBuilder queryBuilder = QueryBuilders.boolQuery()
            .should(QueryBuilders.queryStringQuery("*"+query+"*")
             .lenient(true)
                .field("name")
                .field("description")); 

        return projectSearchRepository.search(queryBuilder, pageable)
            .map(projectMapper::toDto);
}