[Elasticsearch] Test Code 작성용 템플릿 Class.
Elastic/Elasticsearch 2015. 8. 12. 10:52정말 단순히 제가 테스트 할 때 필요해서 기록해 두는 겁니다. ^^;
별로 도움 안될 확율이 높으니 관심있게 보지 마세요.
/** * Created by hwjeong * 이 템플릿은 Elasticsearch Test Code를 작성하는데 기본으로 사용하기 위해 작성 하였습니다. * 사용 방법은 두 가지 입니다. * settings.put("cluster.name", "elasticsearch") 를 통해서 기본적으로 구성 및 등록할 클러스터를 생성합니다. * settings.put("path.data", "data/index") 정보는 local 테스트 시 색인 데이터를 어디에 저장할지 설정을 하게 됩니다. * client 노드를 구성해서 테스트를 할거라면 생성한 프로젝트 root 경로 아래 data/index 라는 폴더가 생성이 됩니다. * nodeBuilder를 통해서 테스트 및 생성할 노드의 특성을 정의 할 수 있습니다. * .data(true) 설정 시 작성하시는 노드는 데이터 노드의 특성을 갖습니다. * .local(true) 설정 시 같은 머신의 jvm 내부 노드간 통신이 이루어 지며 다른 jvm 노드간에는 통신이 되지 않습니다. * false 로 설정 시 네트워크 분리가 되어 있지 않을 경우 운영 서버나 다른 클러스터 군으로 연결 되는 것을 주의 하셔야 합니다. * .client(true) * true 라는 의미는 client node 로 사용하겠다는 의미 이며, 어떠한 data 도 저장 하지 않겠다는 것입니다. * 즉, node.data 가 false 로 설정 되는 것과 같습니다. */
public class EsTestTemplate {
private static final Logger log = LoggerFactory.getLogger(EsTestTemplate.class);
private ImmutableSettings.Builder settings;
private Node node;
private Client client;
@Before
public void setup() throws Exception {
settings = ImmutableSettings.settingsBuilder();
settings.put("cluster.name", "elasticsearch");
// settings.put("node.name", "testNode");
// settings.put("path.data", "data/index");
// settings.put("gateway.type", "none");
node = NodeBuilder.nodeBuilder()
.settings(settings)
.data(true)
.local(false)
.client(false)
.node(); // included start() method.
client = node.client();
}
@After
public void tearDown() throws Exception {
client.close();
node.close();
}
}
※ 코드는 그냥 단순 nodebuilder 를 이용해서 테스트용 node 를 하나 생성 하거나 client를 생성 하는 내용입니다.