elasticsearch 작업

15702 단어 elasticsearch
반환 설명
took--Elasticsearch가 이 검색을 실행하는 데 밀리초 단위timed_out--이 검색이 시간을 초과했는지 가리키기_shards - 몇 개의 섹션이 검색되었는지 가리키는 동시에 성공/실패한 검색된shards의 수량hits - 검색 결과hits.total--우리가 조회하는 표준에 맞는 문서의 총수 항목hits.hits - 실제 검색 결과 데이터 (기본적으로 상위 10개 문서만 표시) _score 및 max_score - 이 필드를 무시하십시오.
1: 클러스터 작업 1) 클러스터 건강 지표(Cluster Health)
curl 'localhost:9200/_cat/health?v'

2) 섹션 클러스터의 노드 목록 얻기:
  curl 'localhost:9200/_cat/nodes?v'  

3) 색인 보기:
   curl 'localhost:9200/_cat/indices?v'

4) 색인 만들기
  curl -XPUT 'localhost:9200/customer?pretty'

5) 쿼리 값
  curl -XPUT 'localhost:9200/customer/external/1?pretty' -d ' { "name": "John Doe" }'

  curl -XGET 'localhost:9200/customer/external/1?pretty'

6) 인덱스 삭제
 curl -XDELETE 'localhost:9200/customer?pretty'

7) 데이터 수정
curl -XPUT 'localhost:9200/customer/external/1?pretty' -d ' { "name": "Jane Doe" }'

8) 문서 업데이트
curl -XPOST 'localhost:9200/customer/external/1/_update?pretty' -d ' { "doc": { "name": "Jane Doe", "age": 20 } }'

스크립트
curl -XPOST 'localhost:9200/customer/external/1/_update?pretty' -d ' { "script" : "ctx._source.age += 5" }'

9) 문서 삭제
   curl -XDELETE 'localhost:9200/customer/external/_query?pretty' -d ' { "query": { "match": { "name": "John" } } }'

10) 일괄 처리: 를 통해_bulk API로 구현되었습니다.이 기능이 중요한 이유는 가능한 한 빨리 여러 개의 조작을 완성할 수 있는 매우 효율적인 메커니즘을 제공하는 동시에 가능한 한 적은 네트워크를 사용하여 왕복하는 데 있다.
빠른 예로 다음 호출은 bulk 작업 중 두 개의 문서를 인덱스합니다(ID 1 - John Doe and ID 2 - Jane Doe).
curl -XPOST 'localhost:9200/customer/external/_bulk?pretty' -d ' {"index":{"_id":"1"}} {"name": "John Doe" } {"index":{"_id":"2"}} {"name": "Jane Doe" } '
 bulk , (ID 1), (ID 2):
curl -XPOST 'localhost:9200/customer/external/_bulk?pretty' -d ' {"update":{"_id":"1"}} {"doc": { "name": "John Doe becomes Jane Doe" } } {"delete":{"_id":"2"}} '

위의 delete 동작을 주의하십시오. 삭제 동작은 삭제된 문서의 ID만 필요하기 때문에 대응하는 원본 문서가 없습니다.
bulk API는 이러한 작업을 순서대로 수행합니다.만약 그 중의 한 동작이 어떤 이유로 실패한다면, 그 뒤의 동작을 계속 처리할 것이다.bulk API가 되돌아올 때, 모든 동작의 상태 (같은 순서대로) 를 제공하기 때문에, 어떤 동작의 성공 여부를 볼 수 있습니다.
2: 기본적으로 인덱스에는 5개의 마스터 슬라이스가 있지만 이를 보여주기 위해 인덱스에는 3개의 마스터 슬라이스와 1개의 복사본 슬라이스가 있습니다.
 PUT /blogs
{
   "settings" : {
      "number_of_shards" : 3,
      "number_of_replicas" : 1
   }
}

3: 사본 분할 수량을 1에서 2로 조정합니다.
 PUT /blogs/_settings
    {
       "number_of_replicas" : 2
    }

4: 조회 1) 모든 일치, 10부터 20까지bytes에 따라 정렬
curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "match_all": {} }, "from": 10, "size": 10, "sort": { "bytes": { "order": "desc" } } }'

2) 계정 번호가 20인 문서를 반환합니다.
 curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "match": { "account_number": 20 } } }'

3) 주소에 "mill"이 포함된 모든 계정을 반환합니다.
 curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "match": { "address": "mill" } } }'

4) "mill"또는 "lane"이 포함된 계정을 반환합니다.
 curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "match": { "address": "mill lane" } } }' 

5) match의 변형(match_phrase)은 "mill lane"이라는 단어와 일치합니다.
 curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "match_phrase": { "address": "mill lane" } } }'

6)'mill'과'lane'를 포함하는 모든 계정boolmust 문장을 되돌려줍니다. 한 문서에 대한 모든 조회는 진실이어야 이 문서가 일치할 수 있습니다.
 curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "bool": { "must": [ { "match": { "address": "mill" } }, { "match": { "address": "lane" } } ] } } }'

7) 주소에 "mill"또는 "lane"을 포함하는 모든 계정을 되돌려줍니다. boolshould 문장은 한 문서에 대해 조회 목록에서 조회가 일치하면 이 문서는 일치하는 것으로 간주됩니다.
curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "bool": { "should": [ { "match": { "address": "mill" } }, { "match": { "address": "lane" } } ] } } }'

8) 반환 주소에는 "mill"과 "lane"의 모든 계정 정보가 포함되지 않습니다:bool must_not 문장은 한 문서에 대해 조회 목록의 모든 조회가 사실이 아니어야 이 문서가 일치하는 것으로 간주된다는 것을 가리킨다.
curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "bool": { "must_not": [ { "match": { "address": "mill" } }, { "match": { "address": "lane" } } ] } } }'

9) 40세 이상으로 돌아가 아이디(daho)에 살지 않는 사람의 계정은 bool 조회에서 must,should,must_를 함께 사용합니다not.그 밖에 우리는bool 조회를 이런bool 문장에 넣어서 복잡하고 여러 등급의 볼 논리를 모의할 수 있다.
 curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "bool": { "must": [ { "match": { "age": "40" } } ], "must_not": [ { "match": { "state": "ID" } } ] } } }'

5: 필터링
1) 반환 값은 20000에서 30000 사이의 계정입니다.20000보다 크고 30000보다 작은 계좌를 찾으려는 것이다.
curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "query": { "filtered": { "query": { "match_all": {} }, "filter": { "range": { "balance": { "gte": 20000, "lte": 30000 } } } } } }'

6: 취합
1) state로 그룹화하고 주 이름의 계수에 따라 역순으로 정렬합니다.
 curl -XPOST 'fuze246:9200/bank/_search?pretty' -d ' { "size": 0, "aggs": { "group_by_state": { "terms": { "field": "state" } } } }'

2) 주별 계좌의 평균 잔액을 계산했다(또는 계좌 수량에 따라 순서를 바꾼 상위 10개 주): 주의,average_balance 집합이 그룹에 중첩되었습니다_by_state 집합 중입니다.이것은 모든 집합의 상용 모델이다.
curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "size": 0, "aggs": { "group_by_state": { "terms": { "field": "state" }, "aggs": { "average_balance": { "avg": { "field": "balance" } } } } } }'

3) 평균 잔액에 따라 정렬:
 curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "size": 0, "aggs": { "group_by_state": { "terms": { "field": "state", "order": { "average_balance": "desc" } }, "aggs": { "average_balance": { "avg": { "field": "balance" } } } } } }'

4) 연령대(20-29, 30-39, 40-49)를 사용하여 그룹을 나누고 성별로 그룹을 나눈 다음 각 연령대의 성별에 따라 평균 계좌 잔액을 계산한다
curl -XPOST 'localhost:9200/bank/_search?pretty' -d ' { "size": 0, "aggs": { "group_by_age": { "range": { "field": "age", "ranges": [ { "from": 20, "to": 30 }, { "from": 30, "to": 40 }, { "from": 40, "to": 50 } ] }, "aggs": { "group_by_gender": { "terms": { "field": "gender" }, "aggs": { "average_balance": { "avg": { "field": "balance" } } } } } } } }'

전환:http://blog.csdn.net/cnweike/article/details/33736429

좋은 웹페이지 즐겨찾기