Это невозможно в Hibernate Search 5.8.
В Hibernate Search 5.10 вы можете получить прямой доступ к клиенту REST , отправить запрос REST в Elasticsearch и получить результат в видеСтрока JSON, которую вам придется анализировать самостоятельно, но она очень низкоуровневая, и вы вообще не сможете использовать поисковые API поиска Hibernate (без DSL запроса, без загрузки управляемого объекта, без типа объекта прямого перевода => имя индекса,...).
Если вам нужна лучшая поддержка этой функции, не стесняйтесь открывать заявку на нашу JIRA , подробно описывающую, чего вы пытаетесь достичь и как выожидал, что сможет сделать это.В настоящее время мы работаем над Поиском 6.0, который приносит много улучшений, в частности, когда речь идет об использовании нативных функций Elasticsearch, так что это может быть что-то, что мы могли бы добавить в наше отставание.
РЕДАКТИРОВАТЬ : я забыл упомянуть, что, хотя вы не можете использовать серверные сценарии, вы все равно можете получить полный исходный код из ваших документов и выполнить некоторый анализ в вашем приложении для достижения аналогичного результата.Это будет работать даже в Поиске 5.8:
FullTextEntityManager fullTextEm = Search.getFullTextEntityManager(entityManager);
FullTextQuery query = fullTextEm.createFullTextQuery(
qb.keyword()
.onField( "tags" )
.matching( "round-based" )
.createQuery(),
VideoGame.class
)
.setProjection( ElasticsearchProjectionConstants.SCORE, ElasticsearchProjectionConstants.SOURCE );
Object[] projections = (Object[]) query.getSingleResult();
for (Object projection : projections) {
float score = (float) projection[0];
String source = (String) projection[1];
}
См. этот раздел документации .