[elasticsearch] query timeout 개념 설명

Elastic/Elasticsearch 2013. 6. 28. 21:46

elasticsearch 에서의 query timeout 에 대해 설명 합니다.


query timeout 은 두 가지 방법으로 설정이 가능 합니다.

1. Java API

setTimeout(millisecond)

2. Request URI (?timeout=10ms)

timeout=1S

S    : 1S = 1millisecond

ms : millisecond

s : second

m : minute

H : hour

d : day

w : week


기본 millisecond 입니다.


elasticsearch 에서는 query execution 후 중지 시킬 수 없습니다.

즉, timeout 을 지정 했다고 해서 실행 시간이 설정한 timeout 을 넘더라도 실행을 중지 하거나 connection 을 끊거나 하지 않습니다.


shard 들에 질의 후 문서를 collecting 하는데 실행 시간을 제한 하는 기능 입니다.

es 에서 구현된 기능이 아닌 lucene 에서 구현된 기능 입니다.


아래는 이해를 돕기 위한 관련 클래스 파일 입니다.

lucene

TimeLimitingCollector.java

elasticsearch

ContextIndexSearcher.java

TimeValue.java


: