어떻게이 간단한 SQL 쿼리 elasticsearch에서 실행받을 수 있나요? [MYTYPE] WHERE A = -23.4807339와 B로부터elasticsearch 일치하는 두 개의 필드
SELECT * = -46.60068
정말, 그것은, 멀티 매치 쿼리 내 경우에는 구문 작동하지 않는 것와 문제가 있어요 어떤 쿼리 유형을 사용해야합니까?
어떻게이 간단한 SQL 쿼리 elasticsearch에서 실행받을 수 있나요? [MYTYPE] WHERE A = -23.4807339와 B로부터elasticsearch 일치하는 두 개의 필드
SELECT * = -46.60068
정말, 그것은, 멀티 매치 쿼리 내 경우에는 구문 작동하지 않는 것와 문제가 있어요 어떤 쿼리 유형을 사용해야합니까?
은 당신처럼 bool
필터는 and
필터를 통해 바람직하다. 이 제안에 대한 전체적인 이야기는 here을 참조하십시오. 왜 더 효율적인 것으로 간주됩니다.
, 나는 이런 식으로 할 것인지를 선택합니다 :
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": [
{"term": {"a": -23.4807339}},
{"term": {"b": -46.60068}}
]
}
}
}
}
}
and
필터로이 문제를 해결할 수 있습니다. 귀하의 예를 들면 다음과 같습니다 :
{
"size": 100,
"query" : {"filtered" : {
"query" : {"match_all" : {}},
"filter" : {"and" : [
"term" : {"a": -23.4807339},
"term" : {"b": -46.60068}
]}
}}
}
올바른 색인 및 유형에 대해 문의하십시오. 반환 세트의 크기를 임의로 100으로 지정 했으므로 유스 케이스에 맞는 값을 지정해야합니다.
감사합니다! 그것은 일했다! 내가이 모든 값을 반환하려는 경우, 많은 쿼리를 사용하지 않고 그렇게 할 수있는 방법이 있나요? ViníciusMariano @ –
이 문서의 큰 숫자를 반환 할 거라면, 당신의 가장 좋은 방법은 (다른 데이터베이스 기술에 커서 몇 가지 유사성을 가지고)은'scroll' 기능을보고 아마. 더 포괄적 인 문서는 여기에 있습니다 : http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-request-scroll.html – rchang