Hibernate Search Управление схемой эластичного поиска НЕТ все еще подключается к эластичному поиску? - PullRequest
0 голосов
/ 27 марта 2019

Я пытаюсь перевести нашу реализацию поиска в режиме гибернации с файловых индексов lucene наasticsearch, но не совсем понимаю документацию. В частности, для стратегии управления схемой индекса NONE:

Индекс, его отображения и определения анализатора не будут созданы, удалены или изменены. Hibernate Search даже не проверит, что индекс уже существует.

Мы хотим удалить зависание при запуске поиска в режиме гибернации (чтобы при запуске он не пытался запрашивать эластичный поиск). Чтение стратегий управления схемами указывает на то, что NONE должен это делать.

Однако, глядя на реализацию кода, я вижу, что он все еще явно проверяет, существует ли индекс:

if (this.schemaManagementStrategy == IndexSchemaManagementStrategy.NONE) {
    this.schemaCreator.checkIndexExists(this.actualIndexName, this.schemaManagementExecutionOptions);
    return false;
}

Я бы ожидал, что этого не произойдет. Когда я ввел заведомо неверный хост для подключения, при запуске сервера все равно происходит сбой:

 Request:
========
Operation: IndicesExists
URI: registryreference
Data:
null
Response:
=========
null
    at org.hibernate.search.elasticsearch.client.impl.JestClient.executeRequest(JestClient.java:188) ~[hibernate-search-elasticsearch-5.6.5.Final.jar:5.6.5.Final]
... (omitted rest of stack) 
Caused by: java.net.ConnectException: Connection refused: connect

Мы используем hibernate-поиск 5.6.5 иasticsearch 2.4.6.

1 Ответ

0 голосов
/ 27 марта 2019

Это ошибка: HSEARCH-2568 .

Это было исправлено в Hibernate Search 5.7.0.Final, поэтому обновление должно помочь. Однако вам придется обновить Hibernate ORM до версии 5.2. Если вы пойдете по этому пути, я бы посоветовал перейти непосредственно на Hibernate Search 5.11 и ORM 5.4, самые последние версии, в которых исправлено довольно много ошибок.

Имейте в виду, что, как упомянул @Sanne, даже если Hibernate Search не отправляет запрос в кластер Elasticsearch, он все равно может создать пул TCP-соединений. Может быть, вы можете рассказать нам больше о вашем случае использования, чтобы мы могли помочь?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...