1. scroll
elasticsearch에서 배치작업등 데이터에 대한 배치 작업시 scroll을 사용하여 처리할수 있음 (scroll은 해당 데이터를 메모리로 올려 놓기 때문에 oom 발생 가능)
1) 생성시
curl -XGET 'localhost:9200/twitter/tweet/_search?scroll=1m' -d '
{
"query": {
"match" : {
"title" : "elasticsearch"
}
}
}'
1y = 1year, 1M = 1month, 1m = 1minute, 1h = 1hour
처음 수행하면 scroll_id가 알수 있어서, 다음번 수행시 scroll_id를 가지고 검색
curl -XGET 'localhost:9200/_search/scroll' -d'
{
"scroll" : "1m",
"scroll_id" : "c2Nhbjs2OzM0NDg1ODpzRlBLc0FXNlNyNm5JWUc1"
}
2) 삭제시
curl -XDELETE localhost:9200/_search/scroll -d '
{
"scroll_id" : ["c2Nhbjs2OzM0NDg1ODpzRlBLc0FXNlNyNm5JWUc1"]
}'
curl -XDELETE localhost:9200/_search/scroll -d ' -- multi
{
"scroll_id" : ["c2Nhbjs2OzM0NDg1ODpzRlBLc0FXNlNyNm5JWUc1", "aGVuRmV0Y2g7NTsxOnkxaDZ"]
}'
2. explain api
특정한 document 또는 쿼리에 대해서 score 계산에 대한 내용을 확인을 하는 api
curl -XGET 'localhost:9200/test/t1/1/_expain'
curl -XGET 'localhost:9200/test/t1/1/_expain' -d '{ ~~~}'
3. profile api
느린 쿼리 확인 및 성능 향상을 위해서 쿼리 수행시 내부 개개의 component 수행에 대한 자세한 시간정보를 제공해 주는 api
curl -XGET 'localhost:9200/_search' -d '{
"profile" : true,
"query" : {
"match" : { "message" : "search test" }
}
}'
결과는 query, collectors, rewrite section을 포함하여 return.
4. index alias를 사용한 index 교체
1. testA에 대한 alias test 추가
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions" : [
{ "add" : { "index" : "testA", "alias" : "test" } }
]
}'
2. alias testA에 대한 정보확인
curl -XGET 'http://localhost:9200/_alias/suggest?pretty=true'
3. 새로운 index 생성 및 test alias 추가
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions" : [
{ "add" : { "index" : "testB", "alias" : "test" } }
]
}'
4. testA 삭제하고 testB 인덱스로 서비스 제공
curl -XPOST 'http://localhost:9200/_aliases' -d '
{
"actions" : [
{ "remove" : { "index" : "testA", "alias" : "test" } }
]
}'
5. refresh_interval 값 조정
인덱스에 인덱싱 주기를 조정하는 값
curl -XPUT localhost:9200/test/_settings -d '{
"index" : {
"refresh_interval" : "30s"
} }'
6. sort 성능
elasticsearch.yml 파일에 아래와 같이 설정후 restart..
index.fielddata.cache: soft
indices.fielddata.cache.size: 80%
indices.fielddata.cache.expire: 24h
'NoSQL > Elasticsearch' 카테고리의 다른 글
elasticsearch snapshot and restore (0) | 2016.06.15 |
---|---|
elasticsearch monitoring (0) | 2016.06.15 |
elasticsearch optimize api (0) | 2016.06.15 |
elasticsearch warmers (0) | 2016.06.15 |
elasticsearch cluster 상태확인 (0) | 2016.06.14 |