다음 쿼리를 사용하여 ElasticSearch 검색을 실행하려고합니다. ES에 익숙하지 않기 때문에 내 무지를 용서해주십시오. 그리고 나는이 문서를 따르려고 시행 착오를 거듭하면서 이걸 함께 엮어 냈습니다. 기본적으로 예상대로 작동하는 유일한 부분은 보낸 사람, 크기, 정렬 및 심각도 일치입니다. 도움을 주셔서 미리 감사드립니다!ElasticSearch가 예상 결과를 반환하지 않습니다.
{
"from":0,
"size":50,
"sort":{"timestamp":{"order":"desc"}},
"query":[
{
"range":{
"timestamp":{"gte":"2013-11-18T05:00:00+00:00","lte":"2013-12-02T05:00:00+00:00"}
}
},
{
"query":{
"match":{"severity":{"query":"medium","operator":"or"}}
}
},
{
"query":{
"constantScore":{
"filter":{
"query":{
"query_string":{"default_field":"_all","query":"10.1.10.22"}
}
}
}
}
}
]
}
질문에 세부 사항이 충분하지 않습니다. 당신의 데이터는 무엇입니까? 너 뭐하려고? 너는 무엇을 기대하고 있니? 너 뭐 돌아온거야? 이들에 대한 샘플을 포함하십시오. 데이터 샘플 삽입 요청을 포함하는 것이 가장 좋습니다. –
세부 사항이 부족해서 죄송합니다. 내 목표는 사용자의 입력을 기반으로 데이터를 반환하는 것입니다. 사용자는 시작/종료 날짜, 심각도 (낮음, 보통 및 높음) 및 검색 키워드를 제공합니다. 결과를 얻지 만 예상대로 필터링하지 않았습니다. 모든 날짜 범위가 반환되고 query_string 쿼리의 문자열로 필터링되지 않는 결과가 나타납니다. – SpacePope
올바른 쿼리를 작성하려면 ES의 Query DSL을 읽어야합니다. 당신은 질문이 완전히 잘못되었습니다. 귀하의 경우에는 "검색 키워드"를 쿼리하는 쿼리와 "시작/종료", "서버 리티"를 필터링하는 필터가 필요합니다. 둘 다 검색 요청에서 수행 할 수 있습니다. –