国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ES常用命令與常用查詢(1)

這篇具有很好參考價(jià)值的文章主要介紹了ES常用命令與常用查詢(1)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、索引相關(guān)

查看集群狀態(tài)
http://127.0.0.1:9200/_cluster/health
創(chuàng)建索引
curl -XPUT 10.9.39.37:9200/test_cycle-order_20227_1
查看所有索引
http://127.0.0.1:9200/_cat/indices
查看索引信息
http://127.0.0.1:9200/index_name
{
    "user-info": {
        "aliases": {},
        "mappings": {
            "_doc": {
                "properties": {
                    "address": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "age": {
                        "type": "long"
                    },
                    "name": {
                        "type": "text",
                        "fields": {
                            "keyword": {
                                "type": "keyword",
                                "ignore_above": 256
                            }
                        }
                    },
                    "sex": {
                        "type": "long"
                    }
                }
            }
        },
        "settings": {
            "index": {
                "creation_date": "1670915768780",
                "number_of_shards": "5",
                "number_of_replicas": "1",
                "uuid": "An2CYpuxSq-6sh0vWRjS2g",
                "version": {
                    "created": "6040299"
                },
                "provided_name": "user-info"
            }
        }
    }
}
刪除索引
curl -XDELETE 127.0.0.1:9200/index_name

2、高級(jí)查詢 DSL

2.1 查詢所有 match_all

使用match_all,默認(rèn)只會(huì)返回10條數(shù)據(jù)

curl -X GET 'http://10.9.39.37:9200/user-info/_doc/_search' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
    "query":{
        "match_all":{
        }
    }
}'
{
    //查詢花費(fèi)的總時(shí)間
    "took": 1,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        //符合條件的總文檔數(shù)
        "total": 1,
        "max_score": 1.0,
        //結(jié)果集,默認(rèn)10
        "hits": [
            {
                "_index": "user-info",
                "_type": "_doc",
                "_id": "1",
                "_score": 1.0,
                "_source": {
                    "name": "張三",
                    "age": 18,
                    "address": "北京市朝陽區(qū)",
                    "sex": 1
                }
            }
        ]
    }
}

返回指定條數(shù)

{
    "query": {
        "match_all": {}
    },
    "size":50
}

size 不能無限大,如果過大會(huì)出現(xiàn)異常

{
    "error": {
        "root_cause": [
            {
                "type": "query_phase_execution_exception",
                "reason": "Result window is too large, from + size must be less than or equal to: [10000] but was [99999]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting."
            }
        ],
        "type": "search_phase_execution_exception",
        "reason": "all shards failed",
        "phase": "query",
        "grouped": true,
        "failed_shards": [
            {
                "shard": 0,
                "index": "user-info",
                "node": "uyvZR82uTVGEdPxthCCYHg",
                "reason": {
                    "type": "query_phase_execution_exception",
                    "reason": "Result window is too large, from + size must be less than or equal to: [10000] but was [99999]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting."
                }
            }
        ]
    },
    "status": 500
}

1、查詢結(jié)果的窗口太大,from + size的結(jié)果必須小于或等于10000,而當(dāng)前查詢結(jié)果的窗
口為20000。
2、可以采用scroll api更高效的請(qǐng)求大量數(shù)據(jù)集。

3、查詢結(jié)果的窗口的限制可以通過參數(shù)index.max_result_window進(jìn)行設(shè)置。

注意:參數(shù)index.max_result_window主要用來限制單次查詢滿足查詢條件的結(jié)果窗口的 大小,窗口大小由from + size共同決定。不能簡單理解成查詢返回給調(diào)用方的數(shù)據(jù)量。這 樣做主要是為了限制內(nèi)存的消耗。 比如:from為1000000,size為10,邏輯意義是從滿足條件的數(shù)據(jù)中取1000000到 (1000000 + 10)的記錄。這時(shí)ES一定要先將(1000000 + 10)的記錄(即 result_window)加載到內(nèi)存中,再進(jìn)行分頁取值的操作。盡管最后我們只取了10條數(shù)據(jù)返 回給客戶端,但ES進(jìn)程執(zhí)行查詢操作的過程中確需要將(1000000 + 10)的記錄都加載到 內(nèi)存中,可想而知對(duì)內(nèi)存的消耗有多大。這也是ES中不推薦采用(from + size)方式進(jìn)行 深度分頁的原因。
同理,from為0,size為1000000時(shí),ES進(jìn)程執(zhí)行查詢操作的過程中確需要將1000000 條 記錄都加載到內(nèi)存中再返回給調(diào)用方,也會(huì)對(duì)ES內(nèi)存造成很大壓力。

2.2 分頁查詢 from

{
    "query": {
        "match_all": {}
    },
    "from": 0,
    "size": 9999
}

2.3 深分頁查詢 scroll

最佳實(shí)踐還是根據(jù)異常提示中的采用scroll api更高效的請(qǐng)求大量數(shù)據(jù)集。

  1. 查詢命令中新增scroll=3000ms,說明采用游標(biāo)查詢,保持游標(biāo)查詢窗口3000毫秒
  2. 這里由于測(cè)試數(shù)據(jù)量不夠,所以size值設(shè)置為
  3. 實(shí)際使用中為了減少游標(biāo)查詢的次數(shù),可以將size值適當(dāng)增大,比如設(shè)置為1000
curl -X GET 'http://10.9.39.37:9200/user-info/_doc/_search?scroll=3000ms' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
    "query": {
        "match_all": {}
    },
    "size": 2
}'
{
    "_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAACCBzjFnV5dlpSODJ1VFZHRWRQeHRoQ0NZSGcAAAAAB9aKqBZzVkIwYk5kMlNVbWwybnJDaXZwb1VnAAAAAAqiPgUWaUxYa0tPcHZUaHE0bm16TUpZVkpOZwAAAAACCBziFnV5dlpSODJ1VFZHRWRQeHRoQ0NZSGcAAAAAB9aKpxZzVkIwYk5kMlNVbWwybnJDaXZwb1Vn",
    "took": 1,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 7,
        "max_score": 1.0,
        "hits": [
            {
                "_index": "user-info",
                "_type": "_doc",
                "_id": "5",
                "_score": 1.0,
                "_source": {
                    "name": "1211111",
                    "age": 18,
                    "address": "北京市朝陽區(qū)",
                    "sex": 1
                }
            },
            {
                "_index": "user-info",
                "_type": "_doc",
                "_id": "8",
                "_score": 1.0,
                "_source": {
                    "name": "娃娃",
                    "age": 18,
                    "address": "北京市朝陽區(qū)",
                    "sex": 1
                }
            }
        ]
    }
}

除了返回前2條記錄,還返回了一個(gè)游標(biāo)ID值_scroll_id。
采用游標(biāo)ID查詢

curl -X GET 'http://10.9.39.37:9200/_search/scroll' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
    "scroll": "1m",
    "scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAACCDZHFnV5dlpSODJ1VFZHRWRQeHRoQ0NZSGcAAAAAB9aaaxZzVkIwYk5kMlNVbWwybnJDaXZwb1VnAAAAAAqiVaMWaUxYa0tPcHZUaHE0bm16TUpZVkpOZwAAAAACCDZIFnV5dlpSODJ1VFZHRWRQeHRoQ0NZSGcAAAAAB9aabBZzVkIwYk5kMlNVbWwybnJDaXZwb1Vn"
}'
{
    "_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAACCDZHFnV5dlpSODJ1VFZHRWRQeHRoQ0NZSGcAAAAAB9aaaxZzVkIwYk5kMlNVbWwybnJDaXZwb1VnAAAAAAqiVaMWaUxYa0tPcHZUaHE0bm16TUpZVkpOZwAAAAACCDZIFnV5dlpSODJ1VFZHRWRQeHRoQ0NZSGcAAAAAB9aabBZzVkIwYk5kMlNVbWwybnJDaXZwb1Vn",
    "took": 1,
    "timed_out": false,
    "_shards": {
        "total": 5,
        "successful": 5,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": 8,
        "max_score": 1.0,
        "hits": []
    }
}

多次根據(jù)scroll_id游標(biāo)查詢,直到?jīng)]有數(shù)據(jù)返回則結(jié)束查詢。采用游標(biāo)查詢索引全量數(shù)據(jù), 更安全高效,限制了單次對(duì)內(nèi)存的消耗。

2.3 指定字段排序 sort

注意:會(huì)讓得分失效

curl -X GET 'http://10.9.39.37:9200/user-info/_doc/_search' \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
    "query": {
        "match_all": {}
    },
    "size": 5,
    "sort":[
        {
            "age":"desc"
        }
       
    ]
}'

排序分頁

{
    "query": {
        "match_all": {}
    },
    "size": 5,
    "from": 5,
    "sort": [
        {
            "age": "desc"
        }
    ]
}

2.4 返回指定字段_source

{
    "query": {
        "match_all": {}
    },
    "size": 5,
    "from": 5,
    "sort": [
        {
            "age": "desc"
        }
    ],
    "_source":["age","name"]
}

2.5 關(guān)鍵詞 match

match在匹配時(shí)會(huì)對(duì)所查找的關(guān)鍵詞進(jìn)行分詞,然后按分詞匹配查找

{
    "query": {
        "match": {
            "age":18
        }
    },
    "size": 5,
    "from": 5,
    "sort": [
        {
            "age": "desc"
        }
    ],
    "_source":["age","name"]
}

2.5 多字段查詢 multi_match

{
    "query": {
        "multi_match": {
            "query": "張三",
            "fields": [
                "name",
                "address"
            ]
        }
    },
    "size": 5,
    "from": 5,
    "sort": [
        {
            "age": "desc"
        }
    ],
    "_source": [
        "age",
        "name"
    ]
}

2.6 query_string

允許我們?cè)趩蝹€(gè)查詢字符串中指定AND | OR | NOT條件,同時(shí)也和 multi_match query 一樣,支持多字段搜索。和match類似,但是match需要指定字段名,query_string是在所 有字段中搜索,范圍更廣泛

{
    "query": {
        "query_string": {
            "query": "張三 or 娃娃22211"
        }
    },
    "size": 100,
    "from": 0,
    "sort": [
        {
            "age": "desc"
        }
    ],
    "_source": [
        "age",
        "name"
    ]
}

指定單個(gè)字段查詢

{
    "query": {
        "query_string": {
            "default_field": "address",
            "query": "張三 or 娃娃22211"
        }
    },
    "size": 100,
    "from": 0,
    "sort": [
        {
            "age": "desc"
        }
    ],
    "_source": [
        "age",
        "name"
    ]
}

指定多個(gè)字段查詢

{
    "query": {
        "query_string": {
            "fields": [
                "name",
                "address"
            ],
            "query": "張三 or 娃娃22211"
        }
    },
    "size": 100,
    "from": 0,
    "sort": [
        {
            "age": "desc"
        }
    ],
    "_source": [
        "age",
        "name"
    ]
}

2.6 關(guān)鍵詞查詢 term

Term用來使用關(guān)鍵詞查詢(精確匹配),還可以用來查詢沒有被進(jìn)行分詞的數(shù)據(jù)類型。Term是 表達(dá)語意的最小單位,搜索和利用統(tǒng)計(jì)語言模型進(jìn)行自然語言處理都需要處理Term。 match在匹配時(shí)會(huì)對(duì)所查找的關(guān)鍵詞進(jìn)行分詞,然后按分詞匹配查找,而term會(huì)直接對(duì)關(guān) 鍵詞進(jìn)行查找。一般模糊查找的時(shí)候,多用match,而精確查找時(shí)可以使用term

{
    "query": {
        "term": {
            "name": {
                "value": "張三"
            }
        }
    },
    "size": 100,
    "from": 0,
    "sort": [
        {
            "age": "desc"
        }
    ]
}

采用term精確查詢, 查詢字段映射類型為keyword文章來源地址http://www.zghlxwxcb.cn/news/detail-459122.html

{
    "query": {
        "term": {
            "address.keyword": {
                "value": "北京市朝陽區(qū)"
            }
        }
    },
    "size": 100,
    "from": 0,
    "sort": [
        {
            "age": "desc"
        }
    ]
}

到了這里,關(guān)于ES常用命令與常用查詢(1)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • es使用和常用查詢(包含多字段聚合查詢,實(shí)體類方式保存es)

    1.導(dǎo)入es相關(guān)jar包 2.增加es配置 3.讀取es相關(guān)配置? ?4.創(chuàng)建es實(shí)體類,與es mapping設(shè)計(jì)一致 ?5.創(chuàng)建es結(jié)構(gòu) ?6.創(chuàng)建類繼承 ElasticsearchRepository 實(shí)現(xiàn)通過api保存實(shí)體類ESData到es ?7.保存實(shí)體類ESData到es ?8.es查詢 多字段匹配查詢,分組查詢,分組后聚合

    2024年02月03日
    瀏覽(18)
  • es查看集群狀態(tài)常用命令

    1.查看集群數(shù)據(jù)的正確率 active_shards_percent_as_number這個(gè)值如果低于100說明集群數(shù)據(jù)正確性存在問題,集群狀態(tài)為yellow或者red都會(huì)使這個(gè)值低于100 2.查看集群索引的狀態(tài)

    2024年02月11日
    瀏覽(28)
  • 【ES常用查詢】基于ElasticsearchRestTemplate及NativeSearchQuery的查詢

    包含當(dāng)前es所有的查詢, 需要什么代碼直接照搬,改個(gè)參數(shù)就行! 用的好請(qǐng)務(wù)必給我點(diǎn)贊?。。「兄x愛你們?。?! 為啥寫這篇文章呢: 大概是因?yàn)槟壳肮居玫腶pi跟以前的不太一樣, 以前我們是基于高標(biāo)準(zhǔn)客戶端直接做的, 但是目前這邊同事是基于ElasticsearchRestTemplate跟

    2024年02月03日
    瀏覽(17)
  • ES查詢常用語法

    目錄 1. ElasticSearch之查詢返回結(jié)果各字段含義 2. match 查詢 3. term查詢 4. terms 查詢 5. range 范圍 6. 布爾查詢 6.1 filter加快查詢效率的原因 7. boosting query(提高查詢) 8. dis_max(最佳匹配查詢) 9. 分頁 10. 聚合查詢【內(nèi)含實(shí)際的demo】 執(zhí)行命令:索引庫名稱/_search 空搜索的結(jié)果為: 按照

    2023年04月09日
    瀏覽(24)
  • ES學(xué)習(xí)-常用的查詢接口

    我們有大部分?jǐn)?shù)據(jù)要通過es進(jìn)行查詢,上周在查的時(shí)候發(fā)現(xiàn)有些不會(huì),今天有空琢磨了一下 常用的查詢接口整理成collection了,附在鏈接里哈哈哈哈哈哈哈 鏈接: ? https://pan.baidu.com/s/1RSFvgbNALPmItW9unvb7Dg?pwd=qwer? ?提取碼: qwer 復(fù)制這段內(nèi)容后打開百度網(wǎng)盤手機(jī)App,操作更方便哦

    2024年02月09日
    瀏覽(23)
  • SNMP 計(jì)算機(jī)網(wǎng)絡(luò)管理 實(shí)驗(yàn)2(二) SNMP服務(wù)與常用網(wǎng)管命令之任務(wù)三:對(duì)同學(xué)的計(jì)算機(jī)進(jìn)行網(wǎng)絡(luò)管理 任務(wù)四:查詢計(jì)算機(jī)網(wǎng)卡的相關(guān)信息

    SNMP 計(jì)算機(jī)網(wǎng)絡(luò)管理 實(shí)驗(yàn)2(二) SNMP服務(wù)與常用網(wǎng)管命令之任務(wù)三:對(duì)同學(xué)的計(jì)算機(jī)進(jìn)行網(wǎng)絡(luò)管理 任務(wù)四:查詢計(jì)算機(jī)網(wǎng)卡的相關(guān)信息

    ????????????????(*^▽^*)歡迎光臨 ??????????????? ??write in front?? ??個(gè)人主頁:陳丹宇jmu ??歡迎各位→點(diǎn)贊?? + 收藏?? + 留言??? ??聯(lián)系作者??by QQ:813942269?? ??致親愛的讀者:很高興你能看到我的文章,希望我的文章可以幫助到你,祝萬事

    2024年02月12日
    瀏覽(49)
  • 工作常用ES DSL查詢語句(干貨滿滿)

    工作常用ES DSL查詢語句(干貨滿滿)

    ?? 工作中幾乎每天都需要使用到ES查詢數(shù)據(jù),需要根據(jù)自己的查詢需求構(gòu)造DSL查詢語句來實(shí)現(xiàn),本文記錄并分享本人工作中常用的DSL語句以及所遇到問題的解決方案,DSL語句靈活多變,可進(jìn)行多種組合,任你搭配,讓我們一起往下看,希望對(duì)你有幫助。 2.1 查看所有索引的

    2024年02月02日
    瀏覽(25)
  • 【ElasticSearch】ElasticSearch Java API的使用——常用索引、文檔、查詢操作(二)

    Elaticsearch ,簡稱為es,es是一個(gè)開源的 高擴(kuò)展 的 分布式全文檢索引擎 ,它可以近乎 實(shí)時(shí)的存儲(chǔ) 、 檢索數(shù)據(jù); 本身擴(kuò)展性很好,可以擴(kuò)展到上百臺(tái)服務(wù)器,處理PB級(jí)別(大數(shù)據(jù)時(shí)代)的數(shù)據(jù)。es也使用java開發(fā)并使用Lucene作為其核心來實(shí)現(xiàn)所有索引和搜索的功能,但是它的 目的

    2024年01月16日
    瀏覽(124)
  • Elasticsearch基礎(chǔ)學(xué)習(xí)-常用查詢和基本的JavaAPI操作ES

    Elasticsearch基礎(chǔ)學(xué)習(xí)-常用查詢和基本的JavaAPI操作ES

    Elasticsearch是一個(gè)基于 lucene 、分布式、通過Restful方式進(jìn)行交互的 近實(shí)時(shí)搜索 平臺(tái)框架。 ELK技術(shù)棧是Elasticsearch、Logstash、Kibana三大開元框架首字母大寫簡稱。 而Elasticsearch 是一個(gè) 開源的高擴(kuò)展的分布式全文搜索引擎 , 是整個(gè) ELK技術(shù)棧的核心。 Elasticsearch是一個(gè)基于lucene、分

    2024年02月11日
    瀏覽(20)
  • ES-1:Java的 ElasticsearchTemplate Or ElasticsearchRepository基礎(chǔ)常用查詢寫法

    目錄 安裝elasticsearch maven 數(shù)據(jù)來源: 網(wǎng)易數(shù)據(jù) mysql的相關(guān)語法 Java代碼 = in like between? and is null is not null order by max min avg sum (發(fā)現(xiàn)es新語法 stats 直接統(tǒng)計(jì)聚合)

    2024年02月15日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包