Я хочу знать: нужно ли нам звонить node.close()
каждый раз, когда мы закончили с нашим процессом запроса/поиска или просто client.close()
в порядке? Вот мой код:нам нужно закрыть узел elasticsearch после каждого запроса на поиск
val node =nodeBuilder().client(true).node()
val client =node.client()
val query = QueryBuilders.matchQuery(fieldName.toString(), q).fuzziness(Fuzziness.AUTO)//user can make 2 typo mistakes
val response = client.prepareSearch("arteciatedb")
.setTypes("readOnlyAdmin")
.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)
.addFields("uuid","FirstName","LastName","Email","SecondryEmail","UserStatus","_source")
.setQuery(query)
.execute()
.actionGet()
val hits = response.getHits
totalHits=hits.getTotalHits
log.info("total search result {}",)
client.close()
node.close()
Я часто использую этот код; поэтому, после node.close()
, при следующем выполнении этого кода он снова запускает узел (вызывая задержки в ответе на поиск), что нежелательно. Я хочу знать, подходит ли node.close()
, когда нам нужно часто называть этот поисковый код.
Нам также не нужно закрывать клиента? – swaheed
Да, то же самое, что и клиент узла –