hibernate搜索-精确匹配优先

2ul0zpep  于 2021-07-12  发布在  Java
关注(0)|答案(0)|浏览(251)

我正在尝试做一个全文搜索,唯一的问题是,我面临的事实是,exact匹配不在名单之首。如果我搜索“cat”,那么我会得到“blablacatcc”、“asdcatsada”和“cat”。有没有办法把它分类成那样?上面有完全匹配的?
我的代码:

final String[] fields = Stream.of(
            Product_.casNumber.getName(),
            Product_.casIndexName.getName(),
            Product_.chemicalName.getName(),
            path(Product_.alternativeNames, ProductName_.alternativeName)
    ).toArray(String[]::new);
    final QueryBuilder builder = manager.getSearchFactory().buildQueryBuilder().forEntity(Product.class).get();
    final Sort sort = builder.sort().byScore().createSort();
    final Query query = builder.keyword().wildcard().onFields(fields).matching("*" + pattern.toLowerCase() + "*").createQuery();
    return manager.createFullTextQuery(query, Product.class).setSort(sort).getResultList();

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题