久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

elasticsearch - Elastisearch怎么求查詢結果的交集,如MYSQL的interset

瀏覽:132日期:2022-06-17 08:24:21

問題描述

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中怎么做呢?

問題解答

回答1:

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

我把樓主的SQL修改一下不知是否滿足樓主的需求,如果滿足我想下面的elasticsearch應該也是可以使用的

SELECT NAME FROM Table1 where (DATE between 20151217 and 20151218) OR (DATE between 20151216 and 20151217)GROUP BY NAME

REQUEST:

{ 'query': {'bool': { 'should':[{ 'range': {'createdTime': { 'from': 1477984000, 'to': 1477984695} }},{ 'range': {'createdTime': { 'from': 1477984000, 'to': 1477984835} }} ]} }, 'size': 0, 'aggs': {'my_price': { 'terms': {'field': 'price' }} }}

RESPONSE:

{ 'took': 3, 'timed_out': false, '_shards': { 'total': 5, 'successful': 5, 'failed': 0 }, 'hits': { 'total': 542, 'max_score': 0, 'hits': [] }, 'aggregations': { 'my_price': { 'doc_count_error_upper_bound': 8, 'sum_other_doc_count': 377, 'buckets': [{ 'key': 148, 'doc_count': 24},{ 'key': 98, 'doc_count': 23},{ 'key': 128, 'doc_count': 20},{ 'key': 160, 'doc_count': 20},{ 'key': 108, 'doc_count': 18},{ 'key': 105, 'doc_count': 14},{ 'key': 100, 'doc_count': 13},{ 'key': 118, 'doc_count': 12},{ 'key': 88, 'doc_count': 11},{ 'key': 81, 'doc_count': 10} ] } }}

我這里是使用的數據創建時間,查詢其價格,因為我的數據中只有價格是重復的,就采用這個做一個測試。使用 aggs 對數據進行分組,'size':0是禁止返回hits數據,這樣直接讀取aggregations.my_price.buckets屬性就是你需要的數據集。

回答2:

印象中沒有這個語法,對于nosql,查出來的都是json風格數據,用程序做下也很簡單高效。

主站蜘蛛池模板: 嘉鱼县| 南投县| 南安市| 唐海县| 那坡县| 新营市| 河津市| 普兰县| 突泉县| 安平县| 云南省| 博白县| 新泰市| 福州市| 景宁| 荥经县| 金湖县| 龙川县| 大连市| 定西市| 鹰潭市| 革吉县| 耒阳市| 安图县| 特克斯县| 托克逊县| 康保县| 高邮市| 甘南县| 沧源| 洛南县| 如皋市| 甘谷县| 迁安市| 邓州市| 德格县| 嘉义县| 万盛区| 封开县| 宣武区| 新津县|