2013-07-06 2 views
7

Java에서 elasticsearch의 시작 및 중지를 관리하고 싶습니다. 이것을 할 수있는 쉬운/좋은 방법이 있습니까?java에서 elasticsearch 인스턴스를 시작 하시겠습니까?

우리 제품에 ElasticSearch를 배치하려고하고 있으며 우리 제품의 고객 기계에서 ElasticSearch의 인스턴스를 유지하려고합니다. 지금은 모든 것이 es.bat에서 시작된 ElasticSearch 인스턴스를 가지고 있거나 어떤 것.

제쳐두고, 아무도 내가 ElasticSearch 인스턴스를 시작할 필요없이 ElasticSearch를 호출하는 우리의 물건을 테스트 할 수 있도록 ElasticSearch를위한 Jest API 주변의 일부 코드를 모의 테스트하는 방법을 보여줄 수 있습니까?

답변

10

elasticsearch 인스턴스를 시작하는 것은 매우 쉽습니다. Java API을 사용해야합니다.

// on startup 
Node node = nodeBuilder().node(); 
Client client = node.client(); 

// on shutdown 
node.close(); 

당신이 노드가 명령 줄에서 시작으로 정확히 동일하게 동작 할 노드를 만든 후 : 즉, reference에서 언급 한대로, 프로젝트에 elasticsearch 종속성을 추가하고 노드를 생성해야 의미합니다. 생성 된 클라이언트 개체를 사용하여 상호 작용할 수 있지만 기본적으로 나머지 호출 및 노드 간 통신을 위해 9200 및 9300 (또는 사용중인 경우 다음 포트) 포트가 열립니다.

+0

답장을 보내 주셔서 감사합니다. 나는 ElasticSearch가 클라이언트 (클라이언트)에 연결하기 위해 시작했다고 가정했지만, 노드를 만드는 것이 의미가 있습니다 ... 대단합니다! 나는 곧 그것을 시도 할 수있을 것이다. 그것이 내가 생각했던 것보다 쉽기 때문에 기쁘다. – cdietschrun

+1

당신은 얼마나 쉽게 당신 자신을 볼 수있을 것입니다 :) 당신은 그것이 유용하다는 것을 확인한 후에 당신의 대답을 upvote/accept 할 수 있습니다. ;) – javanna

+0

정적 가져 오기가없는 경우 NodeBuilder.nodeBuilder() – akroy

관련 문제