Elasticsearch 필터링 검색

7087 단어 ESelasticsearch
ES 6.x에서, 만약 우리가 조회할 때 모든 필드를 되돌릴 필요가 없다면, "_source":[filedid,...] 우리가 되돌려야 할 데이터를 추가할 수 있습니다.일부 필드를 제외할 수도 있습니다"_source":{"exclude":[filedid,...]}.
예를 들어 ES의 데이터가 직접 조회를 통해 몇 십 개의 필드가 되돌아오면 그 중 몇 개의 필드를 필터링합니다
POST ip/xxxx/_search
{
     
"_source": ["email","name","age"],
"query":{
     
	"bool":{
     
		must:[
		{
     
			"match":{
     
				"email":"[email protected]"
			}
		}
		]
	}
}
}

#  
{
     
"took": 98,
"timed_out": false,
"_shards": {
     
"total": 4,
"successful": 4,
"skipped": 0,
"failed": 0
},
"hits":{
     
"total":2,
"max_score": 26.820211,
"hits":[
{
     
"_index": "xxxx",
"_type": "test",
"_id": "id233312",
"_score": 26.820211,
"_source": {
     
"name": "ZAF",
"age": 19,
"email": "[email protected]"
}
},
{
     
"_index": "xxxx",
"_type": "test",
"_id": "id233312",
"_score": 26.820493,
"_source": {
     
"name": "ZAF",
"age": 19,
"email": "[email protected]"
}
},]
}

또 하나의 문제는 ES가 몇 개의 필드를 합쳐서 되돌려주는 것을 지원하는지 모르겠다. 예를 들어 두 필드address1address2, 두 필드를 조합하는 것이야말로 완전한 상세한 주소이다. ES가 조회 문법을 새로 만들 수 있는지address:address1+address2 이렇게 되돌려준다. 비록 뒤로python으로 처리했지만 여기에 남겨두고 나중에 문서를 찾아보자.

좋은 웹페이지 즐겨찾기