亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

Elasticsearch 8.x RESTful API 核心操作與避坑指南

Elasticsearch 8.x RESTful API 核心操作與避坑指南 我做 Elasticsearch 相關(guān)項(xiàng)目也有七八年了從 1.x 一路用到 8.x。這幾年被問得最多的問題幾乎都是同一個(gè)網(wǎng)上找的Elasticsearch 基本操作教程照著敲PUT /index/type/id怎么在 8.x 里直接報(bào)錯(cuò)答案很簡(jiǎn)單——Elasticsearch 8.x 這一代把 RESTful API 里很多沿用多年的習(xí)慣改了。這篇文章我就基于 Elasticsearch 8.x把最核心的 RESTful API 操作從頭到尾捋一遍索引怎么建、文檔怎么讀寫、查詢?cè)趺磳?、聚合怎么做、集群怎么查全部用?shí)際請(qǐng)求和返回說話。適合剛上手 8.x 的開發(fā)者也適合從舊版本遷移過來、想確認(rèn)哪些命令已經(jīng)失效的老人。1. 為什么 8.x 的基本操作和你想的不一樣1.1 安全認(rèn)證默認(rèn)開啟第一次訪問就被攔住了8.x 和之前版本最大的體感差異不是 API 變多而是安全認(rèn)證默認(rèn)開啟了。7.x 及更早版本裝完直接curl localhost:9200就能看到那個(gè)經(jīng)典的 You Know, for Search 歡迎信息。8.x 裝完你再這么干返回的是 401 未認(rèn)證錯(cuò)誤。這意味著你正式學(xué)習(xí)第一組 RESTful API 之前得先解決兩個(gè)東西用戶名密碼以及證書信任。安裝 8.x 后首次啟動(dòng)Elasticsearch 會(huì)在控制臺(tái)打印一段高亮信息里面有elastic超級(jí)用戶的初始密碼還有一個(gè) CA 證書指紋。很多人看到一長(zhǎng)串隨機(jī)密碼直接無視等第二天重啟就傻眼了——初始密碼是一次性的丟了就得重置。我的建議是啟動(dòng)后先把這段輸出保存到本地筆記本或者立刻用elasticsearch-setup-passwords工具手動(dòng)改一套自己記得住的強(qiáng)密碼。測(cè)試環(huán)境更省事的做法是在elasticsearch.yml里加一行xpack.security.enabled: false然后重啟相當(dāng)于回到 7.x 的無認(rèn)證模式。不過這只是本地實(shí)驗(yàn)的臨時(shí)方案生產(chǎn)環(huán)境千萬別這么干。1.2 類型被移除URL 路徑的變化比安全認(rèn)證更隱蔽的變化是types類型徹底沒了。ES 6.x 開始就已經(jīng)官宣每個(gè)索引只能有一個(gè)類型7.x 開始建議用_doc占位8.x 直接移除。所以你在老教程里看到的這種寫法PUT /product/electronics/1在 8.x 里會(huì)直接報(bào)404之類的錯(cuò)誤。正確寫法是PUT /product/_doc/1product是索引名_doc是固定端點(diǎn)1是文檔 ID。別小看這個(gè)變化很多從 6.x 遷過來的人其他操作都沒問題偏偏在這類老路徑上浪費(fèi)一晚上。記住一條鐵律8.x 里索引名后面直接跟操作端點(diǎn)_doc、_search、_update、_delete不會(huì)再出現(xiàn)類型名。1.3 環(huán)境準(zhǔn)備拿到密碼和證書再動(dòng)手在你敲第一條命令之前把環(huán)境準(zhǔn)備好。我用的是 8.14 版本Linux / macOS 都適用。解壓之后配置好JAVA_HOME8.x 自帶 JDK所以這一步通??珊雎匀缓髥?dòng)bin/elasticsearch看到日志里的status: green或者至少yellow就說明服務(wù)起來了。驗(yàn)證最基本的 RESTful APIcurl -k https://localhost:9200 -u elastic:你的密碼-k是跳過證書校驗(yàn)本地測(cè)試圖省事可以這么干。正式一點(diǎn)的寫法是用自帶的 CA 證書curl --cacert config/certs/http_ca.crt https://localhost:9200 -u elastic:你的密碼響應(yīng)里會(huì)出現(xiàn)cluster_name、cluster_uuid和version.number能看到8.14.0就說明連通成功。后面所有示例我都用 HTTP 方法和請(qǐng)求體來表示你在 Kibana 的 Dev Tools 里面可以直接粘貼執(zhí)行如果要轉(zhuǎn)成 curl在請(qǐng)求體外面包一層-d即可。Kibana Dev Tools 是我強(qiáng)烈推薦的學(xué)習(xí)工具自帶語法高亮和格式化對(duì)路徑參數(shù)也會(huì)提示哪些地方是非法的。2. 索引操作創(chuàng)建、查看、修改與刪除2.1 創(chuàng)建索引從空索引到帶映射Elasticsearch 的索引和 MySQL 的 database 加 table 差不多是一個(gè)混合體。創(chuàng)建索引最簡(jiǎn)單的方式是PUT /product返回{ acknowledged: true, shards_acknowledged: true, index: product }但實(shí)際工作中基本不會(huì)造這種空索引。因?yàn)樗饕暮诵氖?mapping——字段類型定義。沒有 mapping 的索引寫入數(shù)據(jù)時(shí)會(huì)觸發(fā)動(dòng)態(tài)映射雖然能用但經(jīng)常給出出乎意料的類型后期很難改。更標(biāo)準(zhǔn)的做法是創(chuàng)建索引時(shí)就帶上 mappingPUT /product { mappings: { properties: { title: { type: text, fields: { keyword: { type: keyword, ignore_above: 256 } } }, brand: { type: keyword }, price: { type: double }, stock: { type: integer }, created_at: { type: date } } } }這里有個(gè)經(jīng)典設(shè)計(jì)title被定義成text加keyword子字段。text負(fù)責(zé)全文檢索也就是搜索時(shí)可以把智能手機(jī)拆成智能和手機(jī)來匹配keyword負(fù)責(zé)精確匹配、聚合、排序。如果你只定義text而沒有加.keyword后續(xù)想做按標(biāo)題排序或聚合會(huì)非常痛苦。2.2 查詢索引_cat系列命令索引建完怎么看它存不存在、狀態(tài)好不好用_cat接口。GET /_cat/indices?v輸出類似health status index uuid pri rep docs.count yellow open product xxxx 1 1 0health列是重點(diǎn)。green表示主分片和副本都正常yellow表示主分片正常但副本未分配red表示主分片出問題數(shù)據(jù)可能不可用。單節(jié)點(diǎn)集群里新建的索引默認(rèn)是yellow因?yàn)楦北疽峙涞搅硪粋€(gè)節(jié)點(diǎn)但只有一個(gè)節(jié)點(diǎn)副本放不出去。這不是故障后續(xù)要消除它要么增加節(jié)點(diǎn)要么把副本數(shù)改成 0。想查看某個(gè)索引的 mapping 和 settingsGET /product返回索引的mappings、settings和aliases。排查字段類型問題基本都靠這個(gè)接口。2.3 修改與刪除索引一些限制索引有些參數(shù)可以動(dòng)態(tài)調(diào)整比如副本數(shù)和刷新間隔PUT /product/_settings { number_of_replicas: 0, refresh_interval: 30s }但有幾個(gè)東西創(chuàng)建后就不能改主分片數(shù)量、已有字段的類型。拿主分片數(shù)量來說5 個(gè)分片的索引想改成 10 個(gè)分片做不到只能重建索引。這也是為什么生產(chǎn)環(huán)境對(duì)分片規(guī)劃要提前想清楚。刪除索引的命令是DELETE /product返回acknowledged: true之后索引及內(nèi)部數(shù)據(jù)就徹底沒了。這條命令沒有回收站除非你有快照備份否則誤刪就是事故。我以前見過有人把DELETE請(qǐng)求的索引名寫錯(cuò)直接刪掉了線上一個(gè)月的數(shù)據(jù)最后靠_reindex從備份里撈回來的。所以生產(chǎn)環(huán)境執(zhí)行 DELETE強(qiáng)烈建議先GET /_cat/indices?v確認(rèn)索引名。3. 文檔的增刪改查CUD 的完整鏈路3.1 寫入文檔三種方式的選擇邏輯索引有了接下來就是往里寫文檔。文檔在 Elasticsearch 里就是個(gè) JSON 對(duì)象。指定 ID 寫入PUT /product/_doc/1 { title: 智能手機(jī), brand: 華為, price: 5999.00, stock: 100, created_at: 2024-06-01T10:00:00Z }返回結(jié)果里有幾個(gè)關(guān)鍵信息{ _index: product, _id: 1, _version: 1, result: created }指定 ID 的寫入是冪等的同一個(gè) ID 再次寫入result會(huì)變成updated版本號(hào)遞增文檔被整體覆蓋。自動(dòng)生成 IDPOST /product/_doc { title: 藍(lán)牙耳機(jī), brand: 索尼, price: 1200.00, stock: 50, created_at: 2024-06-02T10:00:00Z }區(qū)別在于用POST加/結(jié)尾ES 自動(dòng)生成一個(gè) 20 字符的 ID。自動(dòng) ID 的好處是寫入壓力分散不需要做 UUID 生成壞處是你沒法通過 ID 直接定位這個(gè)文檔只能查出來之后再拿 ID。日志類數(shù)據(jù)我通常用自動(dòng) ID業(yè)務(wù)數(shù)據(jù)一般都用我們自己生成的業(yè)務(wù) ID。強(qiáng)制新建PUT /product/_create/2 { title: 筆記本電腦, brand: 聯(lián)想, price: 6999.00, stock: 30, created_at: 2024-06-03T10:00:00Z }如果 ID 已存在返回 409 Conflict文檔不會(huì)被覆蓋。_create適合做冪等寫入場(chǎng)景比如消息隊(duì)列消費(fèi)者重復(fù)投遞時(shí)第二次會(huì)直接失敗省得你寫判斷邏輯。3.2 更新與刪除底層機(jī)制和并發(fā)控制更新文檔有兩類常見寫法。第一類是局部更新POST /product/_update/1 { doc: { price: 5199.00 } }只更新price字段其他字段不動(dòng)。第二類是腳本更新適合需要基于當(dāng)前值計(jì)算的場(chǎng)景比如庫存減一POST /product/_update/1 { script: { source: ctx._source.stock - 1 } }理解底層機(jī)制比記住命令更重要Elasticsearch 的文檔是不可變的。你執(zhí)行 update底層其實(shí)是把舊文檔標(biāo)記為刪除再寫入一份新文檔。這也是為什么每次更新后_version都會(huì)加一。所以頻繁 update 的文檔會(huì)帶來額外的段合并開銷寫入密集場(chǎng)景要盡量避免無謂的小更新。刪除很簡(jiǎn)單DELETE /product/_doc/1返回result: deleted。這里要注意的是被刪除的文檔并不是物理上立刻消失它和更新邏輯一樣先標(biāo)記刪除后續(xù)由后臺(tái) merge 真正清理。剛刪除完立刻做精確 ID 查詢得到的是找不到的響應(yīng)但做全文搜索時(shí)短期內(nèi)可能仍能搜到剛刪掉的文檔這是正?,F(xiàn)象。多實(shí)例并發(fā)修改同一文檔時(shí)ES 提供了樂觀并發(fā)控制。更新時(shí)帶上上次返回的_seq_no和_primary_termPUT /product/_doc/1?if_seq_no27if_primary_term1 { ...完整文檔... }如果期間文檔被改過_seq_no對(duì)不上服務(wù)端返回 409請(qǐng)求失敗。這比最后寫入覆蓋前一次的方式安全得多。3.3 批量操作_bulk的正確姿勢(shì)單條寫入在數(shù)據(jù)量小的時(shí)候沒問題一旦有大量文檔要灌進(jìn)來一條條發(fā) HTTP 請(qǐng)求就是災(zāi)難。_bulk接口是批量寫入的標(biāo)配。_bulk的格式非常特殊它不是標(biāo)準(zhǔn) JSON而是NDJSON——每?jī)尚幸唤M第一行是操作類型和文檔元數(shù)據(jù)第二行是文檔內(nèi)容POST /product/_bulk {index: {_id: 3}} {title: 平板電腦, brand: 蘋果, price: 3999.00, stock: 20, created_at: 2024-06-04T10:00:00Z} {update: {_id: 2}} {doc: {price: 999.00}}第一行可以用index、create、update、delete分別對(duì)應(yīng)寫入、強(qiáng)制新建、局部更新、刪除。第三行及以后可以繼續(xù)成對(duì)追加一次幾百對(duì)完全沒問題。用 curl 時(shí)_bulk請(qǐng)求體會(huì)很大-d參數(shù)容易遇到轉(zhuǎn)義問題我用的是--data-binarycurl -k -X POST https://localhost:9200/product/_bulk \ -u elastic:你的密碼 \ -H Content-Type: application/x-ndjson \ --data-binary bulk.json批量返回結(jié)果里會(huì)有errors: true/false這個(gè)字段。即使總體是 true也不代表全部失敗可能是其中幾條失敗。真正需要逐條檢查的是items數(shù)組里每條記錄的status比如 409 說明版本沖突400 說明單條數(shù)據(jù)格式有問題。我在實(shí)際項(xiàng)目里批量導(dǎo)數(shù)據(jù)批次大小一般控制在 5000 到 10000 條之間太大反而會(huì)因?yàn)閱未握?qǐng)求體過大觸發(fā)內(nèi)存問題。4. 查詢與檢索從 match 到 bool 的一整套 DSL4.1 搜索請(qǐng)求的基本結(jié)構(gòu)搜索通過_search端點(diǎn)完成POST /product/_search請(qǐng)求體是一個(gè) JSON最核心的是query對(duì)象。但搜索的返回結(jié)構(gòu)也要搞清楚{ hits: { total: { value: 2, relation: eq }, hits: [ ...文檔數(shù)組... ] } }total.value是命中的文檔總數(shù)。8.x 里默認(rèn)情況下這個(gè)數(shù)字是準(zhǔn)確計(jì)數(shù)但如果你對(duì)超大索引設(shè)置了rest_total_hits_as_int或者用了track_total_hits參數(shù)它可能變成閾值估計(jì)值這點(diǎn)在對(duì)比返回條數(shù)和實(shí)際預(yù)期時(shí)要注意。_source默認(rèn)會(huì)把完整文檔返回。如果不想看到某個(gè)大字段或者只想要個(gè)別字段可以在請(qǐng)求體里過濾POST /product/_search { _source: [title, price], query: { match_all: {} } }match_all就是返回所有文檔的意思適合先看數(shù)據(jù)概貌。實(shí)際查詢中很少用它更多是配合空query來統(tǒng)計(jì)文檔數(shù)。4.2 常用查詢match、term、range、boolmatch 查詢?nèi)臋z索作用于text字段。POST /product/_search { query: { match: { title: 智能手機(jī) } } }ES 會(huì)對(duì)智能手機(jī)進(jìn)行分詞然后匹配包含任一詞或全部詞的文檔并計(jì)算相關(guān)度分?jǐn)?shù)。適合搜標(biāo)題、描述這類自然語言文本。term 查詢精確匹配作用于keyword、數(shù)值、日期字段。POST /product/_search { query: { term: { brand: 華為 } } }term不會(huì)分詞搜華為就是華為所以不能拿它對(duì)text字段做精確匹配——text字段已經(jīng)被分詞器切成一個(gè)個(gè)詞了term 查不到完整字符串。range 查詢范圍過濾。POST /product/_search { query: { range: { price: { gte: 2000, lte: 6000 } } } }gt大于、gte大于等于、lt小于、lte小于等于靈活組合就行。bool 查詢組合查詢包含must、should、must_not、filter四種子句。它是我實(shí)際項(xiàng)目里用得最多的查詢類型。POST /product/_search { query: { bool: { must: [ { match: { title: 手機(jī) } } ], filter: [ { term: { brand: 華為 } }, { range: { price: { gte: 3000, lte: 8000 } } } ] } } }這里的重點(diǎn)是must和filter的區(qū)別must參與相關(guān)度評(píng)分會(huì)影響_scorefilter只做過濾不參與評(píng)分而且因?yàn)榻Y(jié)果可以緩存性能通常更優(yōu)。所以純過濾條件盡量放進(jìn)filter別全堆在must里。4.3 分頁與排序深分頁怎么避坑分頁最直觀的方式是from加sizePOST /product/_search { query: { match_all: {} }, sort: [ { price: { order: desc } } ], from: 0, size: 10 }from表示跳過多少條size表示返回多少條。配合sort按價(jià)格降序、升序都行。但這里坑很大from跳過的文檔不是真跳過ES 要把每個(gè)分片上的from size條都收集到協(xié)調(diào)節(jié)點(diǎn)再統(tǒng)一排序、截?cái)?。from跑到 100000 以后性能和內(nèi)存都會(huì)明顯惡化。所以 8.x 里默認(rèn)from size的最大值是 10000。深分頁的正確姿勢(shì)是search_after先按某個(gè)唯一排序值定位再取它后面的數(shù)據(jù)。第一次請(qǐng)求同樣帶排序POST /product/_search { query: { match_all: {} }, sort: [ { price: desc }, { _id: asc } ], size: 10 }返回的 hits 里每個(gè)文檔的sort數(shù)組就是游標(biāo)。下一頁請(qǐng)求POST /product/_search { query: { match_all: {} }, sort: [ { price: desc }, { _id: asc } ], size: 10, search_after: [5999.0, 1] }注意排序中加一個(gè)唯一字段比如_id否則價(jià)格相同的文檔之間順序不穩(wěn)定翻頁會(huì)重或漏。search_after不能往前翻頁只適合順序遍歷的業(yè)務(wù)場(chǎng)景比如后臺(tái)導(dǎo)出或者瀑布流加載。5. 字段類型與映射規(guī)劃5.1 核心字段類型怎么選字段類型的選擇決定了后期能否高效查詢和聚合。我整理了一張常用對(duì)照表類型適用場(chǎng)景典型示例注意事項(xiàng)text全文搜索、分詞匹配標(biāo)題、描述、正文不能被聚合/排序除非加.keyword子字段keyword精確匹配、聚合、排序品牌、狀態(tài)、標(biāo)簽、ID不會(huì)分詞整體作為一整個(gè)詞匹配integer/long整數(shù)數(shù)值庫存、數(shù)量取值范圍不同超范圍會(huì)報(bào)錯(cuò)double/float小數(shù)價(jià)格、評(píng)分精度敏感場(chǎng)景用scaled_float更可控date日期時(shí)間創(chuàng)建時(shí)間、更新時(shí)間默認(rèn)支持多種格式但混用會(huì)出問題boolean布爾值上架/下架聚合、條件過濾都很直接objectJSON 子對(duì)象用戶信息{ name: ... }默認(rèn)扁平化存儲(chǔ)子字段按user.name訪問nested數(shù)組對(duì)象訂單明細(xì)列表每個(gè)對(duì)象獨(dú)立索引查詢不會(huì)串?dāng)?shù)據(jù)geo_point經(jīng)緯度門店位置支持距離排序、范圍過濾選型的核心原則就一句話給查詢和聚合用的字段選對(duì)類型只是存儲(chǔ)展示的字段別過度設(shè)計(jì)。5.2 動(dòng)態(tài)映射和顯式映射8.x 寫入新字段時(shí)如果索引里沒有對(duì)應(yīng) mapping會(huì)自動(dòng)動(dòng)態(tài)映射。比如寫入price: 99.9ES 自動(dòng)設(shè)為float寫入name: 張三自動(dòng)設(shè)為text加keyword子字段。動(dòng)態(tài)映射確實(shí)方便但坑也在這里。舉個(gè)例子某個(gè)字段一開始全是數(shù)字ES 自動(dòng)設(shè)為long。后來有人往里面寫了N/AES 會(huì)拒絕這條文檔嗎默認(rèn)會(huì)報(bào)錯(cuò)除非你在 mapping 里配置ignore_malformed: true。再比如某個(gè)字段一開始是字符串被映射成text后面你想對(duì)它做 range 查詢直接報(bào)錯(cuò)。生產(chǎn)環(huán)境的建議非常明確核心索引都用顯式映射創(chuàng)建動(dòng)態(tài)映射留給開發(fā)環(huán)境。尤其是對(duì)接業(yè)務(wù)方數(shù)據(jù)時(shí)字段類型不是拍腦袋定的要跟查詢場(chǎng)景走。往已有的索引里加新字段沒問題PUT /product/_mapping { properties: { category: { type: keyword } } }這個(gè)操作只增不改對(duì)已有數(shù)據(jù)不會(huì)產(chǎn)生重建。但如果要改已有字段類型比如把price從long改成doubleES 是禁止的只能走 reindex。5.3 修改映射reindex 的完整流程改字段類型最穩(wěn)的思路就是新建索引、同步數(shù)據(jù)、切換訪問。流程分四步。第一步新建一個(gè)字段類型正確的新索引product_v2mapping 按正確方式定義。第二步用_reindex把舊索引數(shù)據(jù)拷貝過來POST _reindex { source: { index: product }, dest: { index: product_v2 } }_reindex會(huì)保留_id、_source內(nèi)容但已經(jīng)存在的分詞結(jié)果、倒排索引不會(huì)帶過來新索引會(huì)重新處理數(shù)據(jù)。這也是為什么 reindex 后搜索行為可能和原來略有差異。第三步確認(rèn)新索引數(shù)據(jù)量一致GET /_cat/indices/product_v2?v看看docs.count和舊索引是否對(duì)得上。第四步切換訪問。最簡(jiǎn)單的方式是 alias別名POST /_aliases { actions: [ { remove: { index: product, alias: product_read } }, { add: { index: product_v2, alias: product_read } } ] }切換之后應(yīng)用層繼續(xù)訪問product_read底層已經(jīng)指向新索引。舊索引先保留幾天確認(rèn)無異常再 DELETE。reindex 在高并發(fā)場(chǎng)景下會(huì)占用不少資源建議控制requests_per_second參數(shù)POST _reindex { source: { index: product }, dest: { index: product_v2 }, conflicts: proceed }conflicts: proceed表示更新過程中如果遇到版本沖突跳過而不是中斷整個(gè)任務(wù)。數(shù)據(jù)從幾萬到百萬級(jí)別都能這么跑幾千萬以上建議用 split 成多次 slice 并發(fā)執(zhí)行以后再單獨(dú)聊。6. 聚合分析從統(tǒng)計(jì)視角看數(shù)據(jù)6.1 聚合的語法結(jié)構(gòu)Elasticsearch 不只會(huì)查文檔還自帶統(tǒng)計(jì)分析能力用aggs節(jié)點(diǎn)表達(dá)?;窘Y(jié)構(gòu)長(zhǎng)這樣POST /product/_search { size: 0, aggs: { 自定義聚合名: { 聚合類型: { ...參數(shù)... } } } }size: 0是聚合查詢的常用套路意思是不看命中明細(xì)只看聚合結(jié)果。如果你不寫size: 0返回里會(huì)帶上大量文檔明細(xì)既浪費(fèi)帶寬又拖慢響應(yīng)。聚合分兩大類。桶聚合bucket把數(shù)據(jù)按規(guī)則分到不同的組里相當(dāng)于 SQL 的GROUP BY。指標(biāo)聚合metric對(duì)一組數(shù)據(jù)做統(tǒng)計(jì)相當(dāng)于AVG、SUM、MIN、MAX。兩個(gè)經(jīng)常組合使用先分桶再對(duì)桶內(nèi)做指標(biāo)統(tǒng)計(jì)。6.2 常用聚合示例按品牌統(tǒng)計(jì)商品數(shù)量POST /product/_search { size: 0, aggs: { brand_count: { terms: { field: brand } } } }brand是keyword類型才能聚合。如果你用的是動(dòng)態(tài)映射出來的text字段這里就該寫brand.keyword。輸出里buckets數(shù)組會(huì)列出每個(gè)品牌的key和doc_count。統(tǒng)計(jì)價(jià)格平均值POST /product/_search { size: 0, aggs: { avg_price: { avg: { field: price } } } }一次拿到多種統(tǒng)計(jì)指標(biāo)可以用statsPOST /product/_search { size: 0, aggs: { price_stats: { stats: { field: price } } } }返回count、min、max、avg、sum五個(gè)值省得寫五個(gè)聚合。聚合和查詢可以同時(shí)存在。典型場(chǎng)景是先限定某個(gè)價(jià)格區(qū)間再按品牌分桶同時(shí)統(tǒng)計(jì)每個(gè)品牌的平均價(jià)格POST /product/_search { size: 0, query: { range: { price: { gte: 1000 } } }, aggs: { brand_count: { terms: { field: brand }, aggs: { avg_price: { avg: { field: price } } } } } }先跑query過濾再跑aggs這是聚合查詢性能優(yōu)化的基本姿勢(shì)。不管數(shù)據(jù)有多少條先縮小范圍再聚合能省下大量計(jì)算資源。7. 集群健康與節(jié)點(diǎn)管理7.1 集群健康狀態(tài)單節(jié)點(diǎn)玩得差不多了就該看看集群層面的東西。最常用的健康檢查命令GET /_cluster/health返回{ cluster_name: elasticsearch, status: yellow, number_of_nodes: 1, active_shards: 5, active_shards_percentage_as_number: 50.0 }status是你最需要盯的指標(biāo)green所有主分片和副本都正常。yellow所有主分片正常但有副本未分配。單節(jié)點(diǎn)集群最常見因?yàn)楦北緵]地方放。red有主分片未分配直接意味著部分?jǐn)?shù)據(jù)不可讀寫。出現(xiàn) red 時(shí)優(yōu)先檢查是哪個(gè)索引、哪個(gè)分片用GET /_cat/shards?v往下查。我這里多說一句很多人一看到 yellow 就慌其實(shí)在單節(jié)點(diǎn)測(cè)試環(huán)境里 yellow 是常態(tài)。生產(chǎn)環(huán)境出現(xiàn) yellow 才需要重視原因通常是節(jié)點(diǎn)宕機(jī)、磁盤滿、副本配置錯(cuò)誤。7.2 節(jié)點(diǎn)、分片和索引狀態(tài)排查查看節(jié)點(diǎn)狀態(tài)GET /_cat/nodes?v輸出包含 ip、heap.percent、ram.percent、cpu、load_1m 等指標(biāo)。排查性能問題時(shí)第一個(gè)動(dòng)作就是看這里。比如heap.percent長(zhǎng)期超過 85%就要考慮要不要加節(jié)點(diǎn)、調(diào) JVM 堆大小。查看分片分布GET /_cat/shards?v可以看到每個(gè)索引的分片都落在哪個(gè)節(jié)點(diǎn)上、是主分片還是副本、占用磁盤多大。索引變紅時(shí)_cat/shards會(huì)顯示哪些分片沒有分配到節(jié)點(diǎn)或者顯示UNASSIGNED狀態(tài)。查看索引層面的狀態(tài)GET /_cat/indices?v這個(gè)命令前面提過但它也是排查的起點(diǎn)。pri.store.size可以看索引占用空間docs.count可以看文檔數(shù)。當(dāng)磁盤告警時(shí)先用它找出占用最大的索引再?zèng)Q定做刪除、歸檔還是 reindex。8. 生產(chǎn)環(huán)境要避開的坑8.1 安全配置別裸奔8.x 默認(rèn)安全是開著的但總有人為了圖省事把xpack.security.enabled設(shè)成 false。如果是公司公網(wǎng)環(huán)境這是非常危險(xiǎn)的操作。我見過不止一次集群裸奔在公網(wǎng)上被掃描到之后直接被刪庫里面被塞了一個(gè)勒索提醒。至少要做到幾件事保存好elastic初始密碼或者用密碼重置工具改成自己的強(qiáng)密碼。給應(yīng)用申請(qǐng)專用賬號(hào)或 API key不要所有調(diào)用都拿超級(jí)用戶。開啟 TLS/HTTPS應(yīng)用連接時(shí)配置證書。訪問連接配置里用 API key 比用戶名密碼更適合應(yīng)用側(cè)因?yàn)?API key 可以設(shè)置過期時(shí)間、只授權(quán)特定索引的權(quán)限泄露后也方便吊銷。創(chuàng)建 API key 的接口POST /_security/api_key { name: my_app_key, role_descriptors: { product_only: { indices: [ { names: [product*], privileges: [read, write] } ] } } }返回的id和api_key組合成Authorization: ApiKey base64(id:api_key)頭發(fā)送請(qǐng)求即可。8.2 分片與寫入性能調(diào)優(yōu)分片多少合適這個(gè)問題沒有絕對(duì)標(biāo)準(zhǔn)但有一條原則分片不是越多越好。每個(gè)分片都有對(duì)應(yīng)的 Lucene 段文件、文件句柄、內(nèi)存開銷分片過多會(huì)導(dǎo)致小請(qǐng)求被放大到很多分片執(zhí)行集群協(xié)調(diào)壓力增大。經(jīng)驗(yàn)上單個(gè)分片的數(shù)據(jù)量控制在 20GB 到 50GB 之間具體取決于你的查詢模式。數(shù)據(jù)量小的話單節(jié)點(diǎn)索引設(shè)置 1 個(gè)主分片副本看可用性需求設(shè) 1 或 0完全夠用。大批量寫入時(shí)還有兩個(gè)常見調(diào)優(yōu)項(xiàng)副本先設(shè)為 0。副本寫入和數(shù)據(jù)寫入是并行的副本越多寫入越慢。導(dǎo)完數(shù)據(jù)再把副本改回來。refresh_interval調(diào)大。默認(rèn) 1 秒刷新一次意味著每秒都有一次 refresh會(huì)產(chǎn)生段文件。導(dǎo)數(shù)據(jù)時(shí)可以把刷新間隔調(diào)到 30 秒甚至 -1關(guān)閉讓段更少、寫入更快。PUT /product/_settings { number_of_replicas: 0, refresh_interval: 30s }數(shù)據(jù)導(dǎo)入完成后再調(diào)回來PUT /product/_settings { number_of_replicas: 1, refresh_interval: 1s }我第一次做性能壓測(cè)時(shí)這兩條參數(shù)改動(dòng)讓寫入吞吐提升了將近五倍。別小看 settings 的作用。8.3 常見報(bào)錯(cuò)的排查思路最后分享幾個(gè)高頻報(bào)錯(cuò)和排查思路。集群變紅先GET /_cat/shards?v找UNASSIGNED的分片再用GET /_cluster/allocation/explain看具體原因通常是磁盤水位滿、節(jié)點(diǎn)不可達(dá)等。磁盤水位滿時(shí)ES 會(huì)主動(dòng)停止分配分片。清理磁盤空間后狀態(tài)會(huì)自動(dòng)恢復(fù)。索引只讀磁盤水位過高時(shí)ES 會(huì)把索引設(shè)置成只讀防止進(jìn)一步擴(kuò)大磁盤占用。此時(shí)寫請(qǐng)求會(huì)報(bào)錯(cuò)。解決方式先釋放磁盤空間然后手動(dòng)解除只讀PUT /product/_settings { index.blocks.read_only_allow_delete: false }搜索超時(shí)有的查詢?cè)陂_發(fā)環(huán)境很快到生產(chǎn)就超時(shí)。先看_cat/nodes的 CPU 和 load再排查具體索引的分片數(shù)是否太少或太多最后看查詢里有沒有should過多、深分頁這類問題。調(diào)大 timeout 只是治標(biāo)真正要優(yōu)化的是查詢邏輯。內(nèi)存熔斷報(bào)錯(cuò)信息里出現(xiàn)CircuitBreakingException說明內(nèi)存使用超過限額。常見原因是聚合的size設(shè)得太大或者一次性加載了太多大字段。把聚合桶數(shù)量調(diào)小或者加大節(jié)點(diǎn)內(nèi)存都可以緩解。做完這些基本操作你會(huì)發(fā)現(xiàn)自己已經(jīng)在拿 RESTful API 干很多正經(jīng)事了。我個(gè)人在實(shí)際項(xiàng)目里的體會(huì)是8.x 的核心操作并不復(fù)雜真正拉開差距的是對(duì) mapping 和分片規(guī)劃的理解。寧可花半小時(shí)把字段類型想清楚也別在數(shù)據(jù)量上來之后折騰 reindex。先把上面這些請(qǐng)求多敲幾遍ES 的基本功就穩(wěn)了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
爱爱久久| 久久久免费的精品| 欧美综合网1| 五月丁香色色网| 亚洲熟女乱色一区二区三区| 精产品久久| 99精品伊人| 屌逼麻豆| 成年女人18级毛片毛片免费观看| 亚洲国产欧美一区二区潘金莲| 激情视频图片| 久久人体一区二区| 人妻黑丝袜电影| 亚洲AV无码| 久久婷婷伊人| 亚洲精品丝袜-不卡成人免费……| 色屁屁影院www国产| 亚洲97| 老司机福利社视频在线观看| 久久久久国色αv免费观看| 日本最新免费韩国1区2区视频播放| 麻豆人妻精品一区二区| 丁香五月天啪啪| 国产99久久99热这里只有精品15| 麻豆视频国产一区二区| 天天澡天天爽日日AV| 亚州黄站| 免费视频观看60秒| 深夜激情 | 久久久久密臀一区二区| 蜜臀人妻少妇久久在线观看| 大香蕉在线视频15| 日日夜夜青青草母狗| 人妻日日夜夜精品| 91精品少妇搡搡搡| 人人爽夜夜玩视频| 精品人妻一区二区三区视频在线| 97在线亚洲| 伊人视频| 九九九九精品视频| 少妇无码999| 国产60页| 亚洲男人久久综合天堂| 交换娇妻呻吟声不停中文字幕| 精品免费视频国产一区| 成人小说另类在线| 一级二级三级黑人无码| 成人a级高清视频在线观看| 国产Av超碰| 国产女人高潮嗷嗷嗷叫小说 | www久久99| 免费人成?大片在线播放| 日韩精品 视频一区二区| 操逼视频免费日韩无码| 不卡啪啪视频| 久久本道| 伊人伊人LD| 亚洲精品久久一区二区三区蜜桃臀| 人妻少妇色综合| 伊人国产AV| 96精品久久| 草莓精品视频在线免费观看| 1769精品一区二区三区| 久久女人视频| 97国产伦理| 国语精品av| 午夜小电影在线插入淫高潮| 日韩中文字幕人妻视频| 中文字暮97| 黄网站黄视频网站进入口| 久久久久久91香蕉国产| 九九九不卡| 亚洲加勒比久久日本道| 在线色导航| 天天日天天色| 亚洲男人天堂2016| 欧美色图20p| 一个人免费视频观看在线WWW | 亚洲色电影在线| 香蕉黄色一级视频| 日韩精品 资源| 欧美78| 欧美色视| 色综合色欲色综合色综合色综合| 骚乳在线| 东京热综合久久一区二区| 国产精品爆乳懂色蜜乳| 欧亚在线视频| www. 男人天堂成人在线| 亚欧美色| 啊啊啊好湿国产一二| 亚洲熟妇AV日韩熟妇在线| 欧州91高潮| 亚洲美女自拍偷拍视频| 96爱综合| 曰韩人妻中文字幕在线| 中文字暮97| 丝袜视频网国产90| 日本久久天堂| 亚洲日本大香蕉1| 久久久久久电影| 五月丁香久久| 亚洲丝袜二区在线| 久久亚洲AV无码专区国产精品| 91蜜臀在线久久久久| 五月天精品| 亚洲成熟国产精品美女| 日han少妇无码| 欧美亚洲图片| 丁香五月激情综合| 91亚洲最新在线| 久久久免费一级黄片| 玖玖爱一区在线| а√天堂资源官网在线资源| 国产suv精品一区二区四| 欧美视频一区二区三区| 久久人人爽人人爽人人片Ⅴ| 色香91| 精品偷拍13p欧美dodk视频| 一区二区不卡| 国产第25页在线观看| 香港日本韩国人妇99www.wccm20| 91精品亚洲内射孕妇| 欧美一二三区四五区| 人妻色偷色噜| 99黄页网站| 在线观看成人性爱免费小视频| 成人在线视频一区| 大色综合网| 后入式999| 看日韩操逼| 亚洲AV在线资源| 人妻精品一区二区在线| 伊人加勒比| 日日AV加勒比| 国产熟女精品一区二区| 欧美成人A√在线一区二区| 男人夜色天堂ss| 97视频播放| 色情综合| 极品销魂美女一区二区 | 我爱大香蕉| 亚洲一区二区AV| 亚洲综合网电影91| 日韩一区二区精彩视频| 亚州色图欧美色图| 不卡人妻少妇精品毛片一区23区视频| 影音先锋每日最新资源在线观看| 亚洲精品蜜桃久久久久久久| 久久侵犯人妻爽爽爽| 免费精品无码一级毛片牛牛影视| 热热色综合网| 91色噜噜狠狠| 亚洲一卡2卡3卡4卡乱码网站 | 超碰到97情色| 宅男91视频在线播放| 国产精品高清2021在线| 婷婷九月丁香| 国精综合一二三区影视| a在线观看| 国产女同视频在线播放| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区 | 日韩中文字幕二区| 91一区二区三区蜜桃| 亚洲文学偷乱拍啪啪啪啪| 色色99| 亚洲精品国语在线播放| 欧美日韩亚洲天堂| 国产精品丝袜久久亚洲不卡| 日韩一区二区精品视频| 亚洲囯产精品女人久久久| 婷婷激情四射| 亚洲AV无码乱码| 久噜噜| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 欧美色另类| 亚洲激情天堂网| 国产亚洲一黄| 欧美丰满熟妇XXXX性ppX人交| 丰满人妻被猛烈进入中| 中文字幕三四五区| 蜜桃狠狠色伊人亚洲综合| 99色悠悠| 亚洲不卡AV在线| 午夜120视频在线观看| 欧美综合自拍| 青青草好吊色| 精品一区二区三区麻豆| 91天天综合在线观看| 自拍丝袜美腿人妻| 人人妻人人操人人乐| 国产av美女被艹的乱叫| 乱欲一区二区| 围产精品一区二区三区视频播放| 操逼天美3区| 精品国产一区探花在线观看| 97超碰9| 亚洲精品 欧美97色色| 少妇三P| 人妻出轨一区二区三区| 青青草亚洲一区| 啊啊啊好爽快点啊啊啊嗯嗯| 色情成人五月天| 在线性黄高清免费视频| 国产精品无码在线| 97任你吞精| 国产精品宅男免费| 黄页网站免费高清在线观看| 无套内射人妻在线播放| 人人摸人人添人人操 | 99免费在线视频| 偷窥自拍亚洲天堂网爆| 久久久五月天| 北条麻妃99精品青青久久| 熟女丝袜视频| 97色爱| 色九月综合| 中文97国产| 国产精品suv一区| 干B| 吊色| 亚洲欧美综合| 大香蕉黄色一级片免费看| 成人无码在线超碰网| 欧美午夜视频免费观看| 日韩 欧美 另类 人妻| 日韩乱伦AⅤ| 自拍偷拍2025在线观看| 超碰日本97美女人妻人人玩人人爱 | 欲香欲色天天天综合和网| 很很很很操| 久久人体一区二区| 国产精品扒开腿做爽爽爽视频| 激情综合网亚洲| 亚洲视频1区| 国产三级中文有码在线视频| 99热官网| 媚薬在线视频麻豆| 97在线免费看视频| 日亚韩精品视频二区三| 夜夜操天天肏| 91精品在线播放| 亚洲综合电影| 国产人伦a片信息免费片| 91精品黄在线观看| 91夜夜蜜桃臀1区2区3区| 国产精彩女在线观看视频| 殴美色网| 午夜视频久久久久一区| 五月丁香啪啪网| 爆乳免费黄网站| 足交视频老司机| 久热一区二区| 视频二区美腿丝袜制服人妻欧美| 青青草久草AV| 国产欧美岛国精品一区| 久草毛片电影怡| 亚洲情色 自拍| av在线不卡一区二区三区| 综合网色| 精品女同一区| 人妻日日干| 美腿色图| 久久免费9| 超碰国产精品久| 欧美另类色图片| 欧美后入式| 无码精品久久久天天影视| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 伊人久久国产免费观看视频| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 国产精品盗摄 偷窥盗摄| 天堂精品在线| 美女爽到高潮91| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 丁香九月 婷婷| 亚洲图片欧美91N| 成人夜夜| 欧美疯狂做爰xxxx| 欧美亚洲高清晰 | 国产一区二区久久| 欧美午夜视频免费观看| 99www.bibizy香蕉资源国产一区二区三区高清 | 亚洲的天堂网| 久久久久久日韩| 午夜天堂精品久久| 精品人妻免费观看| 欧洲无码一区二区| 啊啊啊啊网站| 91 丝袜在线| 国内偷拍精品一区二区| 国产免费大片| 精品人妻免费观看| 91天天爱| 1024人妻熟女一区二区三区| 久久亚洲一区二区色婷婷| 久久久久国产一区二| 九九九九97| 综合影视国产无码| 日韩精品人妻中文字幕不卡乱码| 久久精品性| 久久青娱乐| 色婷婷丁香五月天| 亚洲综合91| 亚州操操穴网| 久久无码成人| 亚洲天在线| 亚洲精品色| 久草加勒比一区在线| 久久久久久亚洲精品中文字幕人妻| 国产白丝av| 久久久久久性爱视频| 日韩AV无码网站| 91精品丝袜久久久久久无码人妻| 二男一女成人A片| 99re在线精品78| 秋霞一级视频在线观看免费| 天美传媒AV在线| 亚洲精品蜜桃久久久一区二区三区| 超碰在线一区| 天堂综合| 亚洲熟妇丝袜在线观看| av绯色| 欧美97免费| 亚洲丝袜色| 密乳无码| 一级性爱视频免费在线| 欧美色图自拍| 中文字幕艹艹| 99久久综合网| 欧美情色亚洲| 精品国产乱码久久久久A| 新亚洲无码| 夜夜操中文字幕| 91狠狠色丁香婷婷综合久久| 一区二区三区黄色片a| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 国产欧美后入| 中文字幕视频2区| 乱伦熟女区| 精品国产一区探花在线观看| 啊啊在线| 国产99999久久精品| 五月综合色| 日本黄色大片一级视频免费麻豆| 熟女少妇视频| 久久久九九| 爱欲AV| 丁香婷婷啪啪| 国产色呦呦| 日韩综合成人免费视频| 亚洲成人贴图| 丝袜美腿操av| 日韩精品一区,二区 九九...老司机| 密桃99999| 精品黑人一区二区| 日本欧美一区二区三区视频麻豆| 91在线欧美| 97日韩欧美亚洲| 青娱乐蜜桃臀AV色婷| 精品少妇一区二区三区免费观看| 中文自拍欧美影视| caoni国产亚洲av| 精品无码一区二区三区| 九九九九九九九九九国产精品 | 欧美大香蕉久| 色牛aV| 啊啊啊爽爽| 欧美一区二区三熟女剧情| 东京热熟女亚洲视频网站| 欧洲中文字幕| 日韩精品9区| 日韩懂色网| 日本少妇va7777| 日韩人妻少妇中文字幕| 中文字幕一区av| 人妻精品视频一区二区| 欧美性爱十八禁| 日本天天操| 思思热免费在线视频| 日韩强奸av| 欧美v日韩v亚洲v最新在线| 欧美+日产+中文| 亚洲小说视频| 婷婷超| 国产强奸无码乱伦| 操逼无码操逼| 久热在线精品免费观看| 东北丰满熟女国产一区| 国产精品久久久久久久毛片1| 国产精品爽爽v| 国产 亚洲 丝袜 制服| 国产精品久久99日日| 顶级丝袜熟女一区二区三区 | 麻豆婷婷成人一二三| 欧美精品丝袜久久久中文字幕| 小草三级久久观看| 欧美日韩电影一区二区| 91麻豆一二三区| 欧美综合狠| 十八禁黄色| 亚洲色人| 思思热国产在线视频| 粉嫩不卡一区二区性爱| 99久热| 欧美一区二区情色| 超碰在线1234区| 狠狠爱夜夜| 日语五十路和六十路亚洲国产精品| CCYY草草影院地址入口| 激情综合二| 亚洲色图大香| 欧美极品少妇| 九九九久久久| 国产精品一级特黄aaa大片在线观看| 日本一级二级三级网站| 日韩乱码av| 综合97亚洲| 97国产|免费| 青娱乐淫乱1314| 嫩草影院性色| 白丝AV网站| 91激情国产| av亚欧| 极品白嫩美女白浆成人福利在线看| www.夜夜| 肉丝中文无码高清| 亚洲 无码 偷拍| 午夜精品探花| wwe 天天干.com| 久久九九热| 国产无码三级视频在线观看| 五月色网| 少妇特黄一区二区三区| 操啊国产| 国语人妻精彩刺激| 中文字幕第7页| 久久久精品中文字幕爱豆| 欧美日综合| 都市激情人妻一区二区青青操视频| 亚洲无码一区成人免费午夜| 日韩 欧美 另类 人妻| 超碰亚洲欧美日韩无| 久久精品99| 另类TS人妖一区二区三区| 免费观看的av| 亚洲色婷婷综合久久一区二区三区| 精品久久久久久无码| 久热久| 亚洲高清在线se| 蜜臀AV秘一区翔田千里| 大香蕉在线视频15| 97干97色| 加勒比在线视频| 熟妇色99| 色五月婷婷在线| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 老熟妇91| 首页亚洲国产高跟丝袜诱惑视频| 99精品无码| 亞洲久久直播| 色欲久久99精品久久| 国产 亚洲 丝袜 制服| 九一综合网| 人妻 中文 日韩| 亚洲区限制级| 福利视频一区二区微拍| 91欧美丨精品丨入口| 自拍偷拍草一草| 色老汉色| 国产最新小视频在线播放下载| 九九九网页| 精品免费视频国产一区| 精品十三区| 色屁屁影院www国产| 91色图片| 久久久久久日韩| 久久99精品九九久久久婷婷| 欧美日韩 强奸乱伦| 夜夜操中文字幕| 日本熟女中文字幕一区| 99热日| 婷婷丁香在线| 国产精品福利资源在线尤物| 亚洲日韩青青草色月| 俺去啦俺来也久久综合| 美熟女逼导航AV操逼| 日韩免费看黄片| 一区二区三区麻豆| 丝袜喷水在线| 91操人| 欧美综合第一页| 少妇与黑人高潮在线| 久久亚洲欧美中文字幕国语| 久久中文字幕人妻熟av女蜜柚| 久久婷婷伊人| 日韩免费在线观看不卡| 精品欧美日韩在线观看| 丁香五月AV| 韩国免费播放一级毛片| 久久视频,这里只有精品| 三级片网站在线播放| 国产91 丝袜在线播放00-百度| 色综合中文字幕不卡| 黄色人人| 久久精品店| 99黄页网站| 丁香五月av| 免费啪啪av| 97色操| 少妇500双飞99| 日韩精品一区的| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 夜夜夜夜爽| 天天透伊人| 国产乱码精品一区二区三区四川| 97天天| 天堂资源站| 夜夜嗨一区二区| 97国产超湿| 九九热免费国产视频婷婷伊人| 免费日韩黄片| 亚洲日韩天堂| 日韩 国产 欧美自拍| 国产美女口爆吞精视频| 国产女人操逼视频| 色99视频| 性欧美天天| 日本超碰色精品| 欧美与日韩97| 在线观看成人性爱免费小视频| 98福利在线视频| 九九毛片这里只有精品| 亚洲成人免费电影| 色综合av男人天堂| 亚洲AV无码乱码| 97天天| 男人天堂 天天射| 男人天堂站| 天天拍天天操| 欧美日韩性爱精品| 牛黄色久午久| 亚洲第一无码播放立川理惠| 日日日日做夜夜夜夜无码| 欧美色图综合| 97久久久| 欧美色网| 百度百度日本操逼| 囯产精品久久久久久久久久二区三区| 97伊人超碰| 久肏视频字幕| 中文字幕第7页| 日韩色图 一区二区| 粉嫩久久久久| 精品人妻一区春色| 久久精品中文| 国产免费一区| 91激情国产| 成人资源中文字幕在线观看| 精品无码一区二区三区| 久久亚洲日韩熟女精品| 欧美性性性| 欧美天天综合网版| 好爽免费视频| 色吧5亚洲| 手机看片日韩人妻| 亚洲系列第一页| 香蕉人人操tv| 色色综合网站| 97二区四区| 性色国产东北露脸精品视频| 激情五月天校园春色网| 91精品国产长腿丝袜美女| 欧美少妇高潮| 国产精品免费久久久久久久久久| 成人精品久久久午夜福利| 国产v片在线免费观看| 一区二区三区亚洲| 自拍偷拍2025在线观看| 啊啊啊好爽快点啊啊啊嗯嗯| 九久9热| 日韩懂色网| 亚洲自拍青操视频| 97色综合中文网| jizz啪啪| 蜜乳av首页| 内射中出日韩在线观看视频| 九九九九九九九九九五码| 九热超碰| 亚洲自拍偷拍视频在线| 老司机深夜影院18未满| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 天天日天天操VV| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 亚洲色性| 日日操免费视频| www.国产高潮精品| 久久国产视频专区一二三| 人妻内射一区二区在线视频| 日逼97| 午夜.DJ高清在线观看免费7 | 999久久久久久久久| 一区二区三| 精品亚洲黄色片 国产精品导航一区二区| 亚洲欧美精品福利在线| 精品美女在线视频| 风韵犹存大大大大香蕉| 久久久久亚洲AV无码专区少妇| 亚洲午夜AV| www.高清无码诱惑一区.com| 91n欧美| 中文字幕亚洲永久精品| 国产蜜臀精品一区免费尤物| 欧美另类天堂| 亚洲国产欧美另类自拍| 9久久9综合| 99久久久| 激情视屏国产乱伦强奸| 91成人国产综合久久精品蜜月| 国产免费小视频| 91艹B视频| 国产精品午夜成人福利| 另类欧美色| 激情接吻视频久久久久久| 久久偷拍人| 深夜福利黄片| 亚洲天堂区| 欧美综色欧| 尤物一级在线免费观看| 九九国产| 午夜视频好爽啊| 嗯嗯嗯,草死我| 一起草在线视频| 五月色丁香| 久肏视频字幕| 国产成人精品日本亚洲语言| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 99色网| 欧美色五月| 大茄子熟女AV导航| 99色天堂| 成人性交午夜免费片| 亚洲欧洲综合视频在线| 亚洲图片欧美另类综合免费视频大大香| 国产视频一区二区三区在线免费观看 | 九9热伊人| 国产精品宅男免费| 日本不卡一区二区三区| 国产真实野战在线视频| 美女骚尻视频| 国产麻豆一级精品视频| 超碰吊日色| 能看的av| 97在线视频观看| yirendaxiangjiashipin| 热思思免费视频| 日少妇亚洲版| 先锋色眉乱伦资源| 亚洲不卡一| 久久综合九九| 日韩在线观看三级电影| 在线天堂999| 乱伦一区二区三区‘| 啊啊啊好舒服视频在线观看| 人人摸人人添人人操| 骚熟女AV网| 日韩有码一区三区| 人人爱人人乐人人操| 少妇69中文| 国产AV无码AV| 日韩有码专区| 91久久久视| 欧美极度丰满熟妇hd| 亚洲人妻爽爽爽| 美女露胸露屁股| 国产强奸91| 日日嗷| 日韩精彩免费| 射 色综合| 熟妇的味道HD中文字幕| 超碰97人人乐| 抽查国产福利主播| 亚欧Av| 酒色综合网| 欧美91在线+|+欧美| 国产一区二区三区影片| 91综合网| 97少妇人妻中文字幕久久| 色婷婷激情| 秋霞一级A片黄色视频| 九九九九一区| 亚洲色图a| 超碰99热| 激情无码日韩| 九九九免费视频| 久久久久斤小| 91老熟女逼| 极品色www影院| 亚洲āv网址在线观看| 色哟哟AV| 久热精品色情| 98色网| 亚洲av无线观看| 92性色国产午夜福利在线661| 果冻传媒A片一二三区| 一本正道久久熟女| 欧美久热| 一级啊性爱在线视频| 精品亚洲一区在线观看| 97Ai亚洲| 婷婷九月丁香| 欧美熟妇亚洲版| 国产日韩精品一区二区三区| 色色色色电影网| 萌白酱自拍视频| 人人干人人操人人爱| 欧姜老司机| 欧亚日本情色| 丰满丝袜少妇AV| 日韩99神马视频片| 中文字幕91综合| 丰满人妻一区二区三区| 欧美性爱另类综合| 久久亚洲精品成人av| 欧 美 自 拍 偷 拍| 97超碰人人操人人操| 欧美日韩狠狠爱| 男人天堂久久精品不卡| 欧美999999| 国产精品熟女九九九| 九九玖玖精品| 99国产精品人妻人伦| 中文高清一区二区的| 亚洲中文字幕网| 91黑人无码激情在线| 日本色色色色色视频| 看黄片视频免费| 久久精品店| 啪一啪免费视频| 8050午夜少妇无码| 久久男女激情视频网站| 强奸乱伦动态污图免费| 韩日无码在线观看| 亚卅熟女乱色| 天天做天天爽| 色av中文字| 精品人妻1237| 欧洲精品在线播放| 传媒免费一区二区三区| 操逼999| 天天草AV| 日本一二三免费久久| 国产成人五月天丁香花| 成人怡红院| 国产亚洲色停停久久99精品91| 强奸抽插av| 在线观看免费视频国产| 黄片免费看黄片免费看| 日韩成人网址| 色五91| 97超级欧美| 在线五区| 久草新在线| 欧美自拍偷拍综合图片| 国产精品一区午夜福利| 国产无码一二三区| 男人的天堂啪啪| 亚洲第一页欧美| 日韩精品系列| 九九碰九九爱97超| 亚洲图片日本AⅤ欧美在线| 午夜精品五区| 亚洲人妻一区二区三区| 天天澡天天爽日日av| 超碰 欧美| 男女无套 免费网站| 在线观看高清AV| 狠狠干狠狠色| 久久熟妇五十路一区| 中出在线视频| 99精品国产户外露出| 九九探花视频在线观看| 蜜臀久久一区二区| 97视频www| 97色综合中文网| 18禁免费视频| 欧美色棕合| 伊人色综合欧美| 日本精品五区| 欧美特大黄一级片片免费| 婷婷亚洲中文字幕在线| 国产情色第一第二页在线观看| 久久久555| 日韩免费大片一级播放| 美女超碰978| 亚洲s色图| 国产亚洲深夜激情| 日本三级中国三级99人妇网站| 九九亚洲精品| 97超碰色色| 欧美成人性爱视频大全| 日日夜夜国产综合| 亚洲综合首页| 亚洲av强奸乱伦| 久日综合网| 人妻一区二区三区四区视频| 日本中文字幕在线电影| 国产视频大全| 久久亚洲国产成人| 无码免费一区二区三区啪啪| 天操天操夜操夜月操月年年操操| 操逼无码操逼| 亚洲 图片 综合91| 91制服丝袜| 国产精品久久伊人| 91少妇通奸网站| 亚洲天天做日日做天天谢日日| 日本超碰在线国产一区| 久草看看看| 麻豆国产96在线| 91色色综合| 手机在线中文字幕国产| 久久九七| 免费久久一级毛片大黄| 香一区二区三区| 亚洲色图欧美色图另类图片| 99操| 亚洲成成熟女人综合一区二区| 日韩AV无码中文一区二区| 亚洲 另类 丝袜 自拍 动漫| 久久久久久久九九九九九九| 福利风月五月天影院| 少妇被c 黄 免费观看| 97精品国产97久久久久久| 久久一区二区蜜桃| 91校园春色长篇| 人妻精品一区二区三区| 亚洲激情久久| 欧美日韩精品久久久久久久久东北老熟妇| 青青草天天亲夜夜操网| 国产一区二区在线看| 亚洲第一在线视频| 色色97爱| 大香蕉色十月| 日韩成人性日韩成人性爱视频在线免费观看 | 久久久人体| 91美女网站| 午夜天堂网| 看大黄色大片原件| 91无摭挡| 五月婷久久| 亚州综合色| 殴美日韩m| 国产精品一区午夜福利| 伊人四虎综合| 久久香蕉网| 精品一区二区三区国产 | 一中国女人毛片水真多| 日本精品国产视频| 午夜福利免费福利视频| 亚洲天天天| 日韩av女优在线免费一区| 极品销魂美女一区二区| 日韩精品人妻中文字有码在线| 日本国产高清色www视频在线| 18精品一二区| 国产欧美一区二区| 亚洲欧美自拍偷拍| 天天综合网~91| 九九久久久九九| 美女极品一区二区三区| 亚洲色婷婷综合久久一区二区三区| 日本在线一二 | 嗯嗯啊在线视频| 久久av无码| 97在线日韩中文字幕| 台欧久久精品视频| 日韩国产成人自拍视频| 爱逼综合| Aa东京男人的天堂| 最新欧美色网| www.黄色在线| 熟女精品日韩一区二区三区 | 日韩免费大片一级播放| 快灬快灬 一下爽蜜桃在线观看 | 日韩亚洲国产视频| 久草这里只有精品 | 91天堂色男人的天堂| 欧美后入| 九九九国产精品| 大吊色| 日本福利社| 91足交| 色色色日本| 亚洲欧美清纯| 中文日韩欧美熟| 日本九九久久99播| www.91色| 黄片com.| 亚洲国产精品无码AV久久久| 天躁夜夜躁2021| 99热日| 黑丝日韩av丝袜av| 嗯嗯嗯啊啊啊在线免费观看| 精品国产一级久久| 一本大道不卡一二三区| 尤物网站91| 九九热精品视频六| 久久噜| 久久久∴| 日日干夜夜操视频h| 97电影院超碰| 久操热线| 色色色色网站| 99精品久久久久久久婷婷| 亚欧毛片基地国产毛片基地| 国产精品剧情| 成人性交午夜免费片| 激情文学小说一区二区 | 干B网| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 中文字幕激情小说| 久久久九| 97国产综合欧美| 亚洲美女 晚间男人天堂 | 秘书高跟黑色丝袜国产91在线| 91男同| 青草视频人妻在线观看| 日本大香蕉| 亚洲人妻熟妇三十三区| 春色校园综合网| 毛片17S| 亚洲综合113页| 免费看污网站| n1038 一二三区| 中文字幕片| 亚洲精品天天影视综合网 | 日产狠狠干| 91久久久久免| 偷拍 亚洲| 欧美日韩国第一区| 国产性刺激| 欧美一二三区四五区| 亚洲黄日韩无码专区| 日本日日色视频| 91草草草| 999熟女精品| 天堂av最新电影网| 台湾佬大香蕉| 91亚洲色图| 人人操人人干xxx| 家庭乱伦国产| 日韩一性一交一A片俄罗斯 | 欧美色九九| 色图综合网| 日韩三A大片在线观看| www.av在线视频| 精品国产一级久久| 亚洲日本成人动漫| 亚洲成人一二三区| 麻豆国产成人精品| 日韩无码服务区| 校园春色五月天| 人人人摸人人| 国产三级多多影院2022国产AA一级毛片无码 | 性欧美第一页| 夜夜欢天天干| 强奸抽插av| 一,爱啪啪,在线免费视频| 99视频在线| 欧美老妇综合网| 后入式999| 亚洲精品九九九| 国产一区二区三区久久久精品| 国产一区二区精品久久99| 中文字幕一区二区三区视频播放| 狼天天狼天天大香蕉| 粉嫩少妇自慰在线| 亚洲天堂少妇| 日韩精品在线放| 国产一区在线免费播放| 爱爱动态120秒| 加勒比伊人影院| 久久久久久久久久9| 精品成人无码| 久久久A∨| 亚洲综合骚逼| 亚洲色人| 国产 丝袜 欧美中文 另类| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 青青草吊丝| 熟女高潮精品一区二区| 日韩性爱一级片| 一块操欧美| 懂色AV中文| 精品欧美乱码久| 中国乱伦一区二区| 99啪啪视频| 国内一级精品| 欧美成人一级免费电影| 9热9热综合网| 欧美九九九九九| 国产亚洲日本精品在线| 亚州色站 日韩电影| 一区二区三区一亚洲中文字幕、综合区灬| 少妇厨房愉情理伦片bd在线观看 | 99国产精品| 五月丁香色色网| 色香伊人| 欧美A片中文字幕| 91婷婷伊人狠人| 91色欧美| 中文字幕狠狠玩| 欧美日韩亚洲高清不卡一区二区三区| 精品日日人妻| 色官网在线| 欧美激色| 国产精品久久久久久无码红治院| 夜夜操老骚逼视频网站| 96麻豆精品一区二区三区| 日本精品高清一二区一本到| 精品人妻一区二区乱码一区二区| 超碰97久久| 精品一区二区三区蜜桃臀赵总 | 亚洲日韩肥臀视频在线观看| 人人妻人人爽| 99热精品在线| 久久久久久人| 立川理惠无码一区二区| 精品综合久久久久久97| 国产传媒操逼视频| 日本最新免费韩国1区2区视频播放| 日韩欧无码一区二区三区免费不卡 | 玖玖草久草99蜜月一区二区三区| 亚洲精品一区二区精品| 操逼精品视频| 精品成人无码| 精品久久大胆人体| 激情抓乳插进去啪啪啪日韩 | 久久曰曰| 精品国产一区二区三区在线播出| 欧美黄色图片| 日本精品中文字幕视频| 中文字幕版| 国产9 9在线 | 亚洲| 天美欧美国产| 高清无码 国产精品| 国产熟女自拍| 久久久精品国产亚洲AV无码| 欧美色91| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 日本性爰一道本| 天天操人人操骚逼网站| 思思在线免费视频| 超碰天天去日穴| 91视频国品一二三区| 1769成人国产精品视频| 欧色综合| 亚洲97久久精品亚洲| 人妻少妇无码| 人人天天欧洲| 一区AV| 99精品久久久久久| 天天躁日日躁AAAXX| 欧美中文综合| 欧美一区二区传媒| 2021久久国产综合精品青草| 久啪视频| 中文啪啪视频| 6080YYY午夜理论片在线观看| 亚洲欧洲无码一区夜| 欧洲熟妇xxXx欧美老妇裸体| 少妇熟女一区二区三区| 国内黄色精品| 99性爱在线观看| 精品国产乱码久久久久久蜜臀| 99999精品成人| 粉嫩不卡一区二区性爱| …亚洲黄色厕厕女女在线播…| 麻豆天美传媒在线视频天堂| 国产成人精品日本视频| 国产精品九九九| 日韩天天本| 日本三级韩三级99久久| 婷婷丁香九月| 农村妇女精品一二区| 亚洲自拍一区夜夜操| 成人电影一区| 日韩黄片视频试看| 蜜屁av| 欧美亚洲涩涩| 人妻天天夜夜爽一区二区| 久操网视频| 碰碰97| 日本高清视频在线观看黄已三辽| 999久久久久久久精| 国产黄色av大片网站| 天天夜躁日日躁狠狠2002| 午夜操操操| 蜜屁Av| 久久欧美1卡2卡3| 免费一级视频特黄色大片| 国产精品嫩草影院午夜两性| 日韩精品一区二区人人人| 国产精品一区二区后入| 亚洲天堂另类美腿| 欧美视频在线视频免费va| 熟妇的味道HD中文字幕| 久久91| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 无码人妻精品一区二区中文| 久久激情婷婷| 天天操福利视频综合网站| 欧美色日本| 欧色综合| 久久手机视直播| 日韩中字av一区| 久操av在线| 日本999精品| 人人操天天爽| 欧美一区91大爱| 婷婷综合网站| 亚洲最大网站av| 午夜亚洲国产理论秋霞| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 91丝袜在线视频| 精品乱子一区二区三区99| 欧美精品人妻视频| 91大学精品激情戏| 九九色影院| 亚洲精品三| 国产高清成人传媒影视| a天堂视频| 国产精品无码在线| 国产日韩欧美亚洲精品95 | 天天爽天天| 四色永久成人网站| 亚洲av强奸乱伦| 国产热RE99久久6国产精品首 | 伊人96在线| 欧美一二级| 国产精品高朝久久久久久久| 国产精品3| 91精品免费| 欧美激情一| 99久久免费看精品国产一区| 欧美图片色五月天| 超碰在线日韩一区| 国产免费内射视频| 亚洲男人天堂AV| 日韩在线观看三级电影| 色在线视频导航| 岛国A V在线免费看| 99re热有精品视频国产| 久久久久国色αv免费观看| 黄片直播三级黄片两女一男| 99热婷婷一区二区三| 国产后入式在线观看| PMv在线观看| 男女做爰猛烈动高潮A片免费应用|