2014-09-14 2 views
1

나는 elasticsearch에 대해 쓴 스크립트에 문제가 있습니다. 내 서버에는 매일 삭제해야하는 여러 개의 로그 파일이 있습니다. 이 프로세스를 자동화하기 위해 필자의 keep alive log 파일을 삭제하는 Perl 스크립트를 작성했습니다.Lucene 다중 삭제 쿼리 (JSON)

기본적으로 컬 XDELETE

는하지만 지금은 다른 로그 파일을 삭제하는 쿼리를 추가 할. 다른 JSON 오브젝트를 추가 할 수 있습니까? 다른 삭제 가능한 변수가 생성됩니까?

그래서 내 로그를 삭제하는 별도의 쿼리를 통합하는 JSON에 뭔가를 추가 하시겠습니까?

{ 
    "query": { 
    "bool": { 
     "must": [ 
     { 
      "range": { 
      "@timestamp": { 
       "to": "2014-08-24T00:00:00.000+01:00" 
      } 
      } 
     }, 
     { 
      "query_string": { 
      "fields": [ 
       "log_message" 
      ], 
      "query": "keepAlive" 
      } 
     }, 
     ] 
    } 
    } 
} 

(두 번째 부울 쿼리를 추가 & &처럼 뭔가?)

때문에 나는 그냥 내가 원하지 않는 결과로 이어지는 한 쿼리를 지정합니다 추가 모든 것을. 감사합니다.

답변

1

정확히 무엇을 찾고 있는지 이해하지 못했지만 주어진 쿼리의 결과를 다른 개별 쿼리의 결과와 결합하려는 것처럼 들립니다. 이 경우 다음과 같이 부울 쿼리를 중첩 할 수 있습니다.

{ 
    "query": { 
    "bool": { 
     "should": [ 
     { 
      "bool": { 
      "must": [ 
       { 
       "range": { 
        "@timestamp": { 
        "to": "2014-08-24T00:00:00.000+01:00" 
        } 
       } 
       }, 
       { 
       "query_string": { 
        "fields": [ 
        "log_message" 
        ], 
        "query": "keepAlive" 
       } 
       }, 
      ] 
      } 
     }, 
     { 
      **Another query here** 
     }, 
     ] 
    } 
    } 
}