elasticsearch 쿼리로이 SQL 쿼리를 어떻게 변환해야합니까?elasticsearch 필터/쿼리에 여러 bool 절이 있습니다.
SELECT * FROM myTable WHERE (id = 99 AND isonline <> 1) OR (id = 98 AND isonline <> 0)
여러 개의 불 필터가있는 쿼리는 어떻게 만듭니 까? (보너스는 NEST에서 수행하는 방법도 보여줄 것입니다.)
중복 객체 키가 포함되어있어 신축성있는 쿼리가 작동하지 않습니다.
{
"size": 1000,
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"term": {
"id": 99
}
}
],
"must_not": [
{
"term": {
"isonline": true
}
}
]
},
"bool": {
"must": [
{
"term": {
"id": 98
}
}
],
"must_not": [
{
"term": {
"isonline": false
}
}
]
}
}
}
elasticsearch 버전 1.7
은 나 또는'WHERE' 문 이해가되지 않는가요? '(id = 99 AND isonline <> 1) AND (id = 98 AND isonline <> 0)'id는 99와 98 모두입니다 ... –
@AndreiStefan 당신이 옳다는 점에 유감입니다. 'OR'을 사용하여 'OR'을 사용하여 쿼리를 편집했습니다. 기본적으로 ID와 isonline 상태와 일치 시키려고합니다. 찾으려는 각 항목에 대해 이러한 조건을 갖습니다. – darren
Hehe, 이제 이해가됩니다. 내 대답을 업데이트했습니다. –