찾다

 >  Q&A  >  본문

elasticsearch - Elastisearch怎么求查询结果的交集,如MYSQL的interset

1.查询20151216-17所有的名字

{
"from": 0,
"size": 200,
"query": {
    "bool": {
        "must": {
            "range": {
                "DATE": {
                    "from": 20151216,
                    "to": 2015121617,
                    "include_lower": true,
                    "include_upper": true
                }
            }
        }
    }
},
"_source": {
    "includes": [
        "NAME"
    ],
    "excludes": []
}

2.查询20151217-18所有的名字

{
"from": 0,
"size": 200,
"query": {
    "bool": {
        "must": {
            "range": {
                "DATE": {
                    "from": 20151216,
                    "to": 2015121617,
                    "include_lower": true,
                    "include_upper": true
                }
            }
        }
    }
},
"_source": {
    "includes": [
        "NAME"
    ],
    "excludes": []
}

如果在mysql中可用如下的语句求得这两天name的交集

SELECT NAME FROM Table1 where DATE between 20151216 and 20151217 interset SELECT NAME FROM Table1 where DATE between 20151217 and 20151218    

Elastisearch中怎么做呢?

高洛峰高洛峰2824일 전1554

모든 응답(2)나는 대답할 것이다

  • ringa_lee

    ringa_lee2017-04-17 16:00:47

    으아아아

    원본 포스터의 요구 사항에 맞는지 확인하기 위해 원본 포스터의 SQL을 수정했습니다. 그렇다면 다음 elasticsearch도 사용해야 할 것 같습니다

    . 으아아아

    요청:

    으아아아

    답변:

    으아아아

    여기에서는 데이터 생성 시간을 사용하여 가격을 쿼리하고 있습니다. 데이터에는 가격만 반복되므로 이를 테스트로 사용하겠습니다.
    ags를 사용하여 데이터를 그룹화하세요. "size":0에서는 hits 데이터 반환을 금지하므로 aggregations.my_price.buckets 속성을 ​​직접 읽는 것이 필요한 데이터 세트입니다.

    회신하다
    0
  • 天蓬老师

    天蓬老师2017-04-17 16:00:47

    이 구문이 기억나지 않습니다. NoSQL의 경우 발견된 데이터가 모두 json 스타일 데이터이며 프로그램을 사용하는 것이 매우 간단하고 효율적입니다.

    회신하다
    0
  • 취소회신하다