Elasticsearch 2.20 숨겨진 내용 조회
5990 단어 elasticsearch로그 분석secilog세크람드
이 두 가지 상황에서 되돌아오는 실제 일치하는 내용은 숨겨져 있다.그러나 어떤 경우에는 실제 일치하는 내용을 이해하는 것이 매우 유용하다.이런 상황에서 innerhits 조회를 사용해야 합니다.
요청: PUThttp://127.0.0.1:9200/secilog
{
"mappings": {
"weblog": {
"properties": {
"message": {
"type": "string",
"index": "analyzed"
},
"apache": {
"type": "nested",
"properties": {
"method": {
"type": "string",
"index": "not_analyzed"
},
"status": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
}
그리고 우리는 기록을 하나 삽입한다.
요청: POSThttp://127.0.0.1:9200/secilog/weblog/1
매개변수:
{
"message": "58.240.83.67 - - [16/Feb/2016:12:58:47 +0800] \"POST /copyright/check HTTP/1.1\" 200 2",
"apache": [
{
"method": "POST",
"status": "200"
}
]
}
우리는 중첩된 조회를 통해 안의 문서를 조회한다.
요청: POSThttp://127.0.0.1:9200/secilog/weblog/_search/
매개 변수
{
"query": {
"nested": {
"path": "apache",
"query": {
"bool": {
"must": [
{
"term": {
"apache.method": "POST"
}
}
]
}
}
}
}
}
반환 결과:
{
"took": 11,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "secilog",
"_type": "weblog",
"_id": "1",
"_score": 1,
"_source": {
"message": "58.240.83.67 - - [16/Feb/2016:12:58:47 +0800] \"POST /copyright/check HTTP/1.1\" 200 2",
"apache": [
{
"method": "POST",
"status": "200"
}
]
}
}
]
}}
저희가 파라미터를 넣었을 때 inner_hits 요청 후:
{
"query": {
"nested": {
"path": "apache",
"query": {
"bool": {
"must": [
{
"term": {
"apache.method": "POST"
}
}
]
}
},
"inner_hits": {
"from": 0,
"size": 10
}
}
}
}
반환 결과는 다음과 같습니다.
{
"took": 13,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "secilog",
"_type": "weblog",
"_id": "1",
"_score": 1,
"_source": {
"message": "58.240.83.67 - - [16/Feb/2016:12:58:47 +0800] \"POST /copyright/check HTTP/1.1\" 200 2",
"apache": [
{
"method": "POST",
"status": "200"
}
]
},
"inner_hits": {
"apache": {
"hits": {
"total": 1,
"max_score": 1,
"hits": [
{
"_index": "secilog",
"_type": "weblog",
"_id": "1",
"_nested": {
"field": "apache",
"offset": 0
},
"_score": 1,
"_source": {
"method": "POST",
"status": "200"
}
}
]
}
}
}
}
]
}
}
귀환 결과에서 알 수 있듯이 이전에 숨겨진 정보가 모두 드러났다._nested 키워드는 위의 예에서 매우 중요합니다. 왜냐하면 내부에 끼워 넣은 대상 조회를 어디서 얻을 수 있는지 정의하기 때문입니다.
inner_hits에서 지원하는 매개 변수:
from: 적중의 시작 위치 검색하기;
size: 검색한 문서의 갯수;
sort: 필드 정렬;
name: 응답에서 특수 내부 명중 정의에 사용되는 이름입니다. 한 검색에서 여러 개의 내부 숨김 검색 (innerhits) 을 정의할 때 유용합니다.
세크랜드(secisland)는 Elasticsearch의 최신 버전의 각종 기능을 점차적으로 분석할 것이니 기대해 주십시오.secisland 공중호에 가입하여 관심을 가지는 것도 환영합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.