Hibernate поиск по нескольким полям - PullRequest
0 голосов
/ 28 января 2019

Я хотел бы выполнить полнотекстовый поиск по объекту.

Это работает, когда я использую одно ключевое слово, но не более.

        Query luceneQuery = qb
        .keyword()
        .wildcard()
        .onFields("description", "brand" )
        .matching("*" + searchTerm + "*").createQuery();

В одном случае у меня естьобъект с описанием, равным "car" и брендом, равным "ford"

Поиск возвращает ожидаемый результат, если запрос "car" или "ford", но не для "car ford"

Есть идеи?

спасибо

1 Ответ

0 голосов
/ 01 февраля 2019
Query query = qb.bool()
            .should( qb.keyword().fuzzy().onField("description").ignoreFieldBridge().matching(searchTerm).createQuery() )
            .should( qb.keyword().fuzzy().onField("color").ignoreFieldBridge().matching(searchTerm).createQuery() )
            .should(qb.keyword().fuzzy().onField("brand").matching(searchTerm).createQuery() )
            .createQuery();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...