【发布时间】:2016-01-28 23:46:07
【问题描述】:
我想知道:每次完成查询/搜索过程后,我们是否必须致电node.close(),还是只需client.close() 就可以了?这是我的代码:
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() 是否是正确的做法。
【问题讨论】:
标签: java scala elasticsearch elasticsearch-java-api