Поиск в спящем режиме - сначала точные совпадения - PullRequest
0 голосов
/ 04 февраля 2019

Я пытаюсь выполнить полнотекстовый поиск, единственная проблема, с которой я сталкиваюсь, заключается в том, что точные совпадения не находятся в начале списка.Если я ищу «кошка», то я получаю «blablacatcc», «asdcatsada», а затем «кошка».Есть ли способ, чтобы это сортировать так?С точными совпадениями сверху?

мой код:

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();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...