欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,av无码精品一区二区久久,欧美性爱视频不卡一区三区,欧美乱人伦视频在线观看,国产一级牲交高潮

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í)工具自帶語(yǔ)法高亮和格式化對(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)景比如庫(kù)存減一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)題、描述這類自然語(yǔ)言文本。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 分頁(yè)與排序深分頁(yè)怎么避坑分頁(yè)最直觀的方式是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。深分頁(yè)的正確姿勢(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)。下一頁(yè)請(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)定翻頁(yè)會(huì)重或漏。search_after不能往前翻頁(yè)只適合順序遍歷的業(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ù)值庫(kù)存、數(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 聚合的語(yǔ)法結(jié)構(gòu)Elasticsearch 不只會(huì)查文檔還自帶統(tǒng)計(jì)分析能力用aggs節(jié)點(diǎn)表達(dá)。基本結(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)上被掃描到之后直接被刪庫(kù)里面被塞了一個(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過多、深分頁(yè)這類問題。調(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
返回資訊列表
在线观看av网站| 舔色婷婷| 干一干xxxx| 99在线免费观看| 激情婷婷综合| 99热这里只有精品98| 婷婷一本和五月丁香| 五月婷婷碰碰| 成人精品视频99在线观看免费| 激情www| 99色色热| 婷婷色在线| 啪啪九九色| 五月天色色网站| 婷婷五月天成人基地| 婷婷久久综| 日韩中出视频| 99riAV成人在线视频| 婷婷性爱网| 亚州综合色| 丁香婷婷五月天色播| 91碰超| 99国产在线精品视频| 夜色综合网| 青青草视频福利| 色婷婷五月综合| 中文不卡av| 婷婷久草| 欧美精品XXXXBBBB| 综合久久99| 啪啪操超碰| 五月五婷婷| 六月婷婷色五月| 超碰在线成人| 91欧美| 五月天婷婷久草丁香| 在线播放人妻| 嫩草视频| 天天综合网~91| 美女婷婷激情亚洲| WWW色色色COM| 日韩xx在线| 久久精品一区二区三区四区| 91色五月在线观看| 欧美婷婷精品激| 国内自拍97在线| 久热这里只有精品在线观看| 色色综合无码| 伊人国产婷婷五月天| 婷婷五月天国产精品| 久久永久视频| 久鲁鲁色网| 久热九九| 丁香五月天婷婷中文| 丁香 婷婷五月| 五月丁香va| 丁香五月丐人妻| av大香蕉| 五月天婷婷深深爱| 久久性爱视频网站| 丁香五月综合| 五月丁香综合啪啪| 国产亚洲精品久久久久苍井松 | 久热免费| 91操在线视频| 日韩啪啪视频| 亚洲无码影音| 99狠狠操一| 五月亭亭欧美女人| 久久女婷| 色香五月天| 五月婷婷综合色啪首页| 色五月婷婷五月| 婷婷综合另类小说| 亚洲AV无码久久精品色欲| 色噜噜狠狠色综合日日免费| 亚洲bt丁香五月天婷婷激情小说| 综合成人小说婷婷| 99热色精品| 国产日韩欧美| 国产AV不卡福利| 97色啪| 色综合久久综合中文综合网| 少妇大叫太大太粗太爽了A片 | 欧洲99视频在线| 久久综合色情网站| 欧洲毛片基地c区| 五月天婷婷影院| 日本综合色色| 久久久婷丁香五月| 99亚洲视频| 深爱五月天| AV大香蕉| 亚洲精品另类| 久久这里只有国产| 思思热精品在线| 九九热精品视频在线观看| 超碰爱爱爱| 六月婷婷激情| 精品视频网| 激情性爱五月| 亚洲另类噜噜| 久久久久久久人妻| 九九99在线视频| 中文字幕97超级碰| 色婷婷六月精品| 色五月丁香婷婷在线观看| 婷婷激情六月视频| 91热视频| 天天在线久久综合| 色欲一区二区三区精品A片| 国产成人精品一区二区三区视频| 99亚洲精品视频| 欧美在线骚货| 五月天开心色情网| 色婷婷激情五月天| 欧美成人va| av一区免费看| 思思热在线视频99| 五月丁香六月| 伊人久久五月天| 婷婷五月丁香激情色情| 91久久久久久久| 婷婷福利影院| 中出内射的人妻视频| 91操熟女| 色九月婷婷丁香| 天天爽天天爽夜夜爽| aa久久| 久久这里只有精品22| 久碰视频| 久久婷婷久久| 日熟女| 激情6月| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 九九色婷婷| 久久九九99亚洲国产久精综合| 五月亚洲| 日本精品人妻无码77777| 91|九色|动漫| www.婷婷五月天.com| 国产做爰视频免费播放| 五月婷婷激情四季| 六月婷婷综合| 色五月之第四色| 五月激情射| 久久久精品人妻录| 秋霞av不能| 激情播丁香| 亚洲操b| 婷婷趴趴| 超碰人人射| 亚洲一区二区无遮挡A片| 密桃激情五月天综合网| 国产亚洲99久久精品熟| 日婷婷久久开心| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | www久久五月com| 超碰九色| 丁香五月六月久久综合 | 久久99大全| 1024欧美看片| 久久性爱视频| 一起草AV| www.狠狠操| 亚洲精品视频在线| 伊久大香蕉| 色婷五月天网站| 激情五月天视频| 五月丁香综合激情| 国产精品18久久久| 久久人妻伊人| 亚洲免费99| 日本99视频| 丁香综合久久| 99色视频| AV79| 九色91国产| 五月丁香久人妻中文| 色婷婷五月影院| www.maotanji.com| 五月天婷综合网站| 色婷婷丁香AV综合| 婷婷五月激情图片| 美女丁香五月天| 久久小说| 激情网综合| 免費观看aV在线网址| 牛牛碰免费| 黄页免费一级视频懂色| 婷婷丁香18| 久久视频婷婷视频| 第五婷婷伊人丁香| 久久人妻精品| 五月婷婷深深爱| 久久久久久久97| 亚洲色综合| 丁香花五月天| 五月天三级久久| 97色色综合| 色小说婷婷五月天天天| 99色视频在线| 五月激情六月| 丁香久久久| 99热精品无码| 欧美精品18| 婷婷五月丁香基地在线视频官网| 91人人网| WWW,激情五月天,COM| 综合福利网| 九九热99热| 亚洲午夜av| 成人做爰黄A片免费看直播室男男| 99九九热视频| 99亚洲精品综合在线| 另类激情五月在线视频欧美| 26UUU亚洲欧美| 91pornav在线| 久综合4| 无码任你操| 五月婷婷深爱六月| 婷婷五月蜜桃成人桃色丁香| 日日干天天射| 日本欧特黄色刺激一区影视久精品无码| 久久精典| 狠狠狠色激情综合适合| 天天综合网网欲色| 丁香六月视频| aa久久| 一起操最新网址| 久久五月天婷婷| 婷婷五月天第三页| 六月丁香婷婷六月激情综合| 色婷婷成人网| 五月天色区| 五月天亚洲最大成人| 五月丁香色婷婷色| 在线看黄色| 少妇高潮呻吟A片免费看软件| 久久婷婷五月综合激情国产 | 97人妻碰碰碰久久| 9999热精品| 99热思思| 97人人操人人干| 66精品成人免费网站在线观看| 九九青青草成人| 色综合久久8| 情欲禁地| 色综合色香蕉网| 99热色精品| 成人网站在线观看视频| 欧美日朝成人| www.夜夜操.com| 99ri国产在线| 开心五月婷婷激情| 六月色婷婷| 综合五月婷婷| 99免费视频| 婷婷的99视频网站| 久久六月天| 国产五月天欧美色| 青青草原伊人网| 久久久久久人妻久久久久久久久久人妻久久久| 天天天天天久久久久久| 五月丁香激情婷婷| 538在线精品| 色婷婷色人人射| 五月丁香直播| 丁香婷婷色五月| 男人的天堂五月丁香| 五月丁香婷中文字幕| 久久久月丁香| 五月丁香777| 免费不卡狠操美女视频网| 日日操,夜夜撸| 婷婷综合六| 翔田千里无码| 色综合色色| 欧洲激情精品婷婷| 激情四射五月天| 婷婷色色婷婷| 综合色网站| 婷婷五月天丁香激情| 婷婷五月综合免费在线| 成人精品人妻| 美女要搞搞天天搞搞搞网站| 天天干天天爽天天操| 人人草人人视| 狠狠操狠狠操AV| 色五月亚洲| 99丁香五月婷| 99这里有精品视频| 麻豆忘忧草午夜| 热九九九九| 国产三级片91| 狠狠操天天日| 激情五月天开心| 337p大胆噜噜噜噜噜91Av| 色婷久久| 激情综合色| www.久久久久| 婷婷激情啪啪| 色六月丁香婷婷狠狠干| 26uuu欧美日本| 开心五月天激情| 五月丁香六月激情欧美综合| 婷婷激情六月| 狠狠 久久| 琪琪色五月天| 色五月丁香六月婷婷| 色 色 色综合com| 欧美日韩91| 精品国产一区二区三区四区阿崩 | 91丨九色丨东北熟女| 丁香五月婷婷深五月| 欧美搡BBBBB摔BBBBB| 亚洲成人丁香花| 色99在线看| 26uuu淫色| 婷婷五月天第四色| 成片免费播放| 丁香五月激情棕合| 婷婷综合精品视频97| 91九色精品熟女内射| 高清一区二区三区日本久| 久久天堂色| 开心婷婷中文字慕| 婷婷午夜综合| 久久精品噜噜噜成人A∨色欲| 狠狠色综合网| 九九热精品视频在线观看| 一本道在线电影| 9l视频自拍九色9l视频在线观看| 亚洲 无码 中文字幕 中出| 婷婷五月天激情电影| 色婷婷成人做爰A片免费看网站| se99热久久一本| 亚洲舔观看| 五月天丁香成人| 伊人大香蕉爱聚| 五月婷婷在线短视频| 五月天激情小说欧美激情| 五月丁香婷婷综合| 婷婷五月丁香综合| AV色婷婷| 色激情五月| 丁香五月欧美色综合| 99久久6| 丁香五月婷婷激情中文| 狠狠色噜噜狠狠狠888了| 色色色综合色| 久久精彩视频| 激情五月天啪啪视频| 综合99久久| 综合www色| 天天日夜夜爽。| 专区无日本视频高清8| 丁香婷婷基地| 五月婷婷开心网| 久久综合最新网址| 色情开心五月| 婷婷五月天六月综合| 激情婷婷色五月| 中文字幕婷婷| 亚洲韩国日产综合AV| 婷婷激情性爱| 激情VA视频| 91日视频| 久久婷婷欧美| 九月丁香婷婷综合| 丁香婷婷婷婷十二月在线观看视频| 五月久久婷婷丁香| 成人超碰Av| 天天干夜夜想| 久一网站| 免费AV黄在线播放| 久久总和99| 国产成人精品一区二三区熟女在线 | 激情综合五月| 91久久九九| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 婷婷五月天男人影院色色网| 天天舔天天爽| 免费AV在线| 五月天激情子轮| 可以免费观看的AV| 99精品久久久久久久婷婷| 人人爱人人添| 色婷婷呢狠禁久禁| 日日夜夜狠狠婷婷色| 五月天淫乱视频| 久久99久久99久久99| 久操b网| 午夜爱爱网站| 五月天久久网站| 五月婷婷啪| 国产xxxxx在线观看| 999热这里只有精品| 少妇性BBB搡BBB爽爽爽视頻| 色色色综合网| 91操碰| 激情图片五月天| 久久9情免费| 全网最新网黄大秀直播高清,主播国产录屏在线 | 久久伊人日日夜夜| 黄桃AV无码免费一区二区三区| 久久看婷婷| 五月色婷婷综合| 五月婷丁香| 亚洲网视屏| 婷婷丁香六月| 久99热在线观看| 99久久性爱| 爱iii做iiii日| 天天摸,天天爽| 亚洲午夜AV| 色五月大香蕉| 99热只有| 美女婷婷六月色| 91玖玖| 91porn一起草| 九色七七| www.zbzhongsen.com| 婷婷情色五月天| 色婷婷激情五月天| 97在线/亚洲| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 色婷婷影| 国产婷婷五月天| 丁香五月婷婷偷拍| 丁香婷婷大香蕉| 成人视频一区| 亚洲超碰在线| 婷婷丁香亚洲五月天| 一本大道伊人AV久久综合| 久久五月天黄色五月天色网址| 另类少妇人与禽zOZZ0性伦| 人妻操逼| 色五月激情网| 国产又色又爽又黄又免费| 综合色天天| 中文中文在线| 婷婷五月天在线观看第二页| 99偷拍视频在线日本| 久久538| 久久婷婷丁香| 激情综合五月天| 亚洲精品操一操、噜一噜、摸一摸、爽 | 热99热9| 91seAV| 激情久久丁香| 亚洲另类婷婷五月丁香在线播放| 九九99热久久精品66中文字幕| 99热最新网址| 大战熟女丰满人妻AV| 五月天成人在线| 级人人91| 亚洲无码另类| 日日操日日干| 啪精品| 天堂色婷婷| 欧美狠狠草| 极品人妻VIDEOSSS人妻| 婷婷五月天AV| 这里只有精品,日韩视频| 欧美顶级少妇做爰HD| 国产资源91在线| 人人操婷婷| 婷婷五月丁香综合激情| 丁香色啪综合| 激情色色| 久热超碰91| 欧美精品99久久久| 婷婷丁香久久| 婷婷射图| 高潮毛片又色又爽免费| 综合五月丁香六月婷婷| 九九久久五月天综合伊人| 97色干| 996热re视频精品视频这里| 国内久久亭亭| 成人国产欧美大片一区| 天天插天天射| 26uuu欧美亚洲日韩| 97超碰欧美中文字幕| 五月丁香啪| 五月婷婷婷婷婷婷艺术| 五月丁香六月综合情在线观看 | av人人操| 欧美性爱五月天| 婷婷综合中文| 直接看的av| 日本操逼九九九九58日本操逼| 婷婷丁香激情综合色情| 人妻在线观看视频| 99热免费| 99热最新精品| 五月婷婷色激情| 久久这里精彩免费在线观看| 碰碰碰91| 亚洲这里只有精品| 激情色情五月天| 这里只有精品免费在线视频| 亚洲国产黄色电影| 欧美色图片88| 来吧亚洲综合网| 日本色五月| 天天摸天天舔在线视频| 久9免费视频| 91色五月在线观看| 国产精自产拍久久久久久蜜| 婷婷伊人綜合中文字幕小说| 九九热视频在线观看| 亚洲精品小视频| 色色五月丁香| 色综合久久88| 91男女视频在线观看| 国产67194| 欧美综合激情丁香五月六月婷| 99在线观看这里都是精品| 91久久综合亚洲噜噜成人在线 | 一区二区中文字幕| 久久婷视频| 久久久人妻门| 丁香婷婷免费| 国产欧美婷婷| 久久这里只有精彩| 99热精品在线| 97香蕉碰碰人妻国产欧美| 人操人人| 亚洲免费av观看| 午夜在线成人网站免费观看| www.9操| 99视频只有精品| 五月丁香啪啪啪综合网| 色噜噜狠狠狠综合曰曰曰| 九九免费视频在线| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 九月色婷婷综合| 国产成人AV人人爽人人澡Va| 天天性视频| 激情综合区| 1024手机在线观看看片_日韩精品| 九九精品系列| 在线综合91| 色444综合网| 久久婷婷五月综合网| 欧美日韩成卜| 操逼电影免费看| 91碰免费视频| 五月婷婷丁香综合,亚洲天堂| 婷婷九月丁香中文| 亚洲无码黄色| 9精品在线| 99热精品网| 欧美人人超级碰| 欧美日本97| 日B日潘金莲BB| 国外亚洲成AV人片在线观看| 成人做爰A片免费看视频| 国产无遮挡又黄又爽免费网站| 天天干一干| 春色激情第四色| 婷婷色五月亚洲| 99热这里只有精品13| 3p日韩网站视频| 五月天黄色激情小说| 丁香婷婷成人在线播放| 九九在线精点品| 99re热在线观看| 九热...av| 另类激情中文| BBWCUCKOLD精品熟妇| 色婷婷五月天| 91人妻九色大屁股| 婷婷狠狠18禁久久| 婷婷欧美色| ss五月天激情| 天天操夜夜玩!| 色婷婷五月天视频在线| 九月丁香亭亭| 少妇被下春药玩弄A片| 2050人人操免费工开爱| 婷婷网影院| 天天做天天爱天天爽夜夜揉| www,五月丁,com| 五月综合无码| 小视频久久久aaa| 丁香六月激情综合| 国产九月婷婷| 色婷婷久久综合| 开心婷婷五月花| 亚洲综合色色色| 色综合激情| 少妇AB又爽又紧无码网站 | 曰曰久久| 粉嫩AV久久一区二区三区| 婷婷天天五月天| 天天肏视频| 五月色天五月色| 天天干天天拍| 国产熟妇乱子伦hd| 999精品乱码77777| 一级A片天天操夜夜操| 成人va在线播放| 九九色逼| 久久婷婷人人| 九热视频这里只有精品| 五月婷婷激情网| 日本在线视频播放91| 99久久久久| 色五月婷婷成人| 91丨九色丨大屁股| 噜噜五月天综合| 狠狠操狠狠插| 色色免费网站| 色欲AVV| 99精品在线播放| 79色色色色| 婷婷六月啪啪| 超碰97免费在线| 这里都是精品99| 天天操天天操天天操天天操天天操天天操 | 人人人va亚洲视频在线| 婷婷色五月天在线观看| 天天综合91入口| 婷婷五月天av网| 色狠狠色狠狠| 九九色精品| 日笨久久网| 亚洲五月婷天天操| 午夜婷婷| 色九月婷婷丁香| 思思久日精品视频| 性做爰1一7伦| 五月丁香手机在线| 99噜噜| www.玖玖婷婷在线| 99热这里只有精品1998| 五月天激情网站| 五月丁香激情综合网官网| 欧美激情xxxXX| 五月天婷婷色| 日韩在线99| 激情性五月天免费小说视频| 大学生高潮无套内谢视频| 欧美精品A片一区在线观看| 九九综合精品| 久操激情| 视频一二区| 久久激情五月婷婷| 亚洲视频在线网| 亚洲色欲AAAAAA| 国产JK精品白丝AV在线观看| 成人五月天在线观看| 亚洲国产成人在线| 99爽视频| 中文无码婷婷| 色五月综合激情| 人妻AV在线观看| 婷婷伊人75| 26uuu亚洲| 九九婷婷五月天| 婷婷综合伊人| 九九热九九| 网站免费一站二站| 婷婷五月天改成什么了| a在线观看| 激情综合五月婷| 欧美精品999| 五月丁香久久网| 色三级色三级| 91精品久久久久久| 五月丁香婷婷成人网| 91avse| 综合久久综合久久| 久久久久9| 日韩婷婷| 激情美女五月天| 婷婷深爱五月| 99热精品网| www婷婷| 九九九九综合| 99性色| 色久在| 野战J办公桌椅H| 天堂婷婷丁香六月网| 激情婷婷五月丁香啪啪啪| 天天谢天天操| 无码动漫av| 九九热视频这里只有精品| enecarbon-materials.com污K127封锁请涟系@wip1688 | 色墦五月丁香| 激情网五月天| 色色色色色爱| 激情婷婷丁香| www,天天干| 色哟哟www| 色五月av| 色五月首页| 欧美日韩成人在线网站| 国产成人网址| 综合激情综合啪啪| 97久久超级| 9久久久久| 爱之国产色情综合| 91人人妻人人操人人爽| 日本操碰碰| 色情五月丁香婷婷网| 新激情五月天| 五月丁香好婷婷A片网| 婷婷欧美色| 欧美色必爱| 女同激情久久av久久| 99激情视频| 婷婷五月综合视频| 一本九九色| 九九色综合| 激情五月丁香激情综合网| 婷婷五月天黄色网址| 超碰人人在线| 欧美色性色好| 五月天激情小说电影| 丁香婷婷久久综合在线| 开心五月婷婷激情| 99思思热只有在这里看| 色狠狠色| www.激情五月天.com| se99视频| 91精品综合久久久久久五月丁香| 丁香婷婷性爱| 97成人在线视频| 狠狠丁香| 亚亚州久久高潮| 色色色免费视频| 丁香六月婷婷久久综合| 免费成人网在线观看| 日本色婷婷| 五月天久久综合| 激情五月婷婷伊人| 97影院一级片| 9一精品视频观看| 日本熟妇精品99| 天天色激情| 99色6爱9热| 久久香蕉婷婷| 成人做爰黄A片免费看直播室男男| 亚州操操| 丁香婷婷中文字幕| 亚洲综合新99视频| 亚州色婷婷| 久久精品国产AV一区二区三区 | 99热老司机| 丁香五月综合在线视频| 色五月久久成人婷婷| 亚洲影院婷婷色| 91狠狠色丁香婷婷综合久久| 亚洲VA口| 79色色色色| 五月丁香六月激情综合啪啪| 337p大胆噜噜噜噜噜91Av| 色婷婷亚洲在线观看| 亚洲操操操| 婷婷欧美综合| 久久99热免费最新版| 激情五月天色婷婷综合| 热这里只有精| 九九热这里只有精品首页| 婷婷丁香成人五月天| www.色欲丁香婷婷| 国产精品久久久久久久久久| 五月天丁香婷婷社区| 99在线精品在线视频| 久久这里只有国产精品视频| 天天综合激情| 噜噜色天天开心| 日本天堂爱爱| 五月丁香少妇| 综合色视频| 婷婷丁香五月在线观看91| 伊人激情AV一区二区三区| 99无码视频| 国产av基地| 婷婷综合影院| 黄久久久| 午夜日韩久久久网站| jiujiuxiangjiaowang| 国外亚洲成AV人片在线观看| 丁香五月天黄色片| 久久多色| 婷婷天堂站| 六月丁香啪啪啪| 亚洲激情婷婷| 国产日比| 五月婷婷六月丁香| 色色五月丁香| 国产精品99久久久久久久女警| 婷婷天堂站| 日本久久综合| 99热97| 久久婷婷伊人| 农村熟妇高潮精品A片| 无码日本精品XXXXXXXXX| 亚洲国产精品SUV| 五月丁香偷拍| 日本精品久久久久中文字幕| A片女女女女女女BBBB| 欧美成人AAA片一区国产精品| XX色综合| 三日本无码| 色99免费视频中文| 婷婷五月综合网| 综合大香蕉| 成人在线网址| 激情婷婷五月女| 五月婷婷 六月丁香| 九九九成人在线视频| 一级操逼内射在线视频| 另类激情中文| 99色视频| www.99热| 另类五月激情| 婷婷亚洲久久| 婷婷五月中文字幕| 在线不卡视频| 啪啪干伊人婷婷| 色色免费网战视频| 天天日天天操心| 久久性爰视频这里只有精品| 人人草开心五月天| 亚洲天堂爱爱| 丁香五月婷婷基地| 五月天啪啪网| 色婷婷久久综| 成人一级片| 求可以看的AV网址| 欧美性爱五月天| 99热一区| 99热伊人综合| 996er热| 操操操B| 人妻激情视频| 操笔无码| 亚洲精品国产精品乱码视99| 天天日天天舔| 色99在线视频| 久久97久久99久久综合欧美| 亚洲九九婷婷| 国产视频久色| 欧美日本另类| 超碰在线看| 伊人大香蕉爱聚| 色婷久久| 婷婷六月花| 99热日韩| 亚洲色视频| 久久99免费视屏| 激情五月天婷婷图| 久久免费婷婷视频| 亚洲操操| 久久综合9| AV伊人青草丁香六月| 色综合色综合色综合高潮| 亚洲天堂aaaa| 丁香五月欧美成人| 五月丁香六月婷| 五月婷婷七月丁香| hd五月婷婷在线| 97人人操人人| 国产乱妇无乱码大黄AA片| 91狠狠综合久久久久久| 中文字幕91,综合| 无码地址| 天天干天天拍| av网址在线播放| 99热都是精品| 丁香五月婷婷香| 久久在线视频免费观看| 色婷天天| 十月丁香九月婷婷综合| 色五月婷婷在线| 99狠狠| 色婷婷丁香五月色综合网| 另类视频一区| 丁香六月婷婷色XXXXX| 国产欧美婷婷| 99久久久久久www| 久久婷婷五月综合色丁香花| 亚洲成人在线播放| 五月天成人综合| 这里只有精品96| 色婷婷黄色网络| 69色婷婷| 久久xxxx| 97色片| 五月婷婷开心五月| 色青青电影色五月| 婷婷免费成人视频| 天天干天天干天天| 97碰精品| 色久婷婷网| www.yw尤物| 五月天操逼网| 色婷婷国产精品综合在线观看| 操91综合网| 深爱五月婷婷开心中文字幕| 大香蕉久| 日韩综合久久| 国产精品色婷婷99久久精品| 婷婷WWW久久| 五月丁香婷婷中文网| 五月天成人小说| 久9热在线视频| 欧美视频五区| 干一干xxxx| 色婷婷综合网| 九九超碰人人| 天天色亚洲| 精品国产a| 久久久婷丁香五月| 国产精品99久久久久久久女警| 婷婷综合另类小说| 26uuu最新地址| 五月停亭六月,六月停亭的英语| 五月天色婷婷基地| 极品少妇高潮啪啪AV无码| 五月天快乐开心激情网| 狠狠干狠狠干| 狠狠操天天操| 五月丁香综合伦理片| 久久9视频| 亚洲中文av| 婷婷综合视频| 五月丁香啪综合| 久久婷婷91| 伊人婷婷大香蕉| 久久婷婷六月综合综合色| 99福利视频导航| 五月天色裸体视频| 丁香六月激情国产| 久热这里只有精品6| 97成人丁香| 丁香美女主播视频在线观看| av人人操| 五月天婷婷AV| 97综合色片| 色色色色五月天| 婷婷成人av| w婷婷五月婷婷w| 伊人激情啪啪| 五月天激情小说| 九九色逼| 天天搞夜夜叫| 丰满少妇乱A片无码| 亚洲综合色棒| 第四色五月婷婷| 色婷婷丁香| 五月天色导航婷婷资源婷婷| 99国产精品白浆在线观看免费| 六月婷婷七月丁香| 亚洲中文AV网站| 婷婷五月激情的图片| 五月丁香六月婷综合成人综合| 色五月成人| 99热首页在线30| 夫妻超碰在线| 97操视频| 99燥99日| 精品久久人妻| 色婷婷丁香五月天| 99这里只有| 久久9视频| 五月婷婷色欲| 青草青草久热这里只有精品| 狠狠色丁香婷婷综合久久97AV| 伊人五月婷婷国产视频| 国产无套精品一区二区| 色婷婷亚洲婷婷| 丁香激情网| 五月天婷婷色综合| 婷婷亚洲天堂| 操操啪| 国产亚洲精品久久一区二区三区| 99热只有这里才是精品| 第2色五月婷| 婷婷六月综合在线| 亚洲色色爱| 九九色色色| 97色婷| 第四色五月激情网| 丁香五月老师| 天天摸天天高潮天天爽| 天天操天天插| 99热色精品| 91精品刘玥| www.99热| 婷婷成人视频| 综合狠狠干| 五月婷婷激情中心| 色五月婷婷亚洲| 久久中文人妻系列| 激情综合久久| 婷婷六月丁| 激情六月丁香综合| 99碰碰碰| 大香蕉久| 中文在线视频久1| 丁香五月婷婷无码AV| 狠狠干婷婷| 激情六月婷婷| 成人狠狠成人狠狠成人狠狠成人狠狠 | 1囯产午夜仑鲁鲁| 最新久久网址| 久草xx性爱视频| 久久999久久999久久999久久| 国产美女无遮挡裸体毛片A片| 欧美日本另类| 亚洲精品欧洲精品| 伊人网碰碰| 欧美性猛交99久久久久99按摩| 亚洲va综合va国产va中文| 久久视这里只有精品| 精品五月花| 婷婷色综合| 久久这里99| 婷婷丁香射射| 色99自拍| 日本色色视频| 婷婷六月天| 久久激情五月| 操逼巨乳91| 五月婷婷开心综合| 大香蕉啪啪啪| 欧美成人AAA片一区国产精品| AV在线免费播放| 5月丁香婷婷激情网| 综合久久五月| 99在线观看视频精品| 任你爽免费视频| 激情宗合 激情宗合| 久久日婷婷| 一级AV片| AV九九| 久久思思热| 丁香五月天AV| 丁香综合婷婷开心激情网| 国产黄大片在线观看画质优化 | 婷婷五月天影院| 国产67194| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 亚洲精品一区无码A片| 色播五月| 婷婷综合色色| 亚洲午夜一区二区| 人人摸人人干人人做| 色久影院| 激情五月天的婷婷| 狠狠色丁香久久婷婷综合五月| 丰满少妇猛烈A片免费看观看 | 久久99热这里只有| 五月停亭六月,六月停亭的英语| 伊人玖玖网| 97婷婷丁香五月天激情图片| 婷婷五月天丁香综合网| 91丨九色丨首页| 能看的AV| 国产成人精品亚洲线观看| 婷婷五月天激情网| 啪啪激情综合| 色五月综合| 婷婷午夜综合| 婷婷欧美综合| 在线中文av| 大香蕉AV在线| 天天日天天色| 天天干天天拍| 亚洲妇女熟BBW| 日本狠狠干| 99色热| 操骚货在线| 九九99免费视频| 六月色色| 91精品91久久久中77777| www.婷婷六月天| 午夜大香蕉| 精品人妻伦| 国产操B视频| www色婷婷| 思思视频这里是精品| 激情婷婷丁香五月| 五月天婷婷五月| 婷婷五月花丁香| 久久综合首页| 五月婷婷影| 五月婷在线| 久久婷婷五月天大香蕉| 亚洲综合欧美色丁香婷婷888月图片| 99热免费18| 99re热在线观看| 亚洲天堂久久| 婷婷五月天国产手机在线视频观看| 91操熟女| 久久丝丝热| 九九操综合网| 99久在线精品99re8| 欧美色九| 婷婷五月天AV| 国产亚洲AV人片在线| 久久天堂婷婷五月| 五月天啪啪| 怡红院院在线导航网 | PORNY九色9l自拍视频成人| 99热只有这里有精品| 成人超碰网| 激情五月丁香六月综合AVXXXX| 亚洲欧美日韩另类| 97婷婷五月| 一区二区三区四区牛| 五月丁香久久网| 午夜性爱影视一区77| 26uuu欧美日本| www.五月天色色.com| 97色色婷婷| 久久99免费视频| 激情无码网| 五月婷婷就去色| 九九热最新地址| 99视频在线| 九九99九九精品免费 | 丁香蜜臀黄色婷婷五月天| 青青草a在线| 直接看的AV| 夜夜骑夜夜操| 五月天综合色| 热久91| 婷婷丁香熟妇综合网| 婷婷五月开心中文字幕在线| 在线可以看的av网址| 久久久久激情| 国产婷伊人| 色婷婷综合久久久久| 天天透天天摸天天舔| 五月狠狠| 亚洲蜜桃精久久久久久久久久久久| 午夜婷婷久久| 日韩综合网络男女香蕉a片| 超碰激情网| 79色色色色| 操操啪| 日韩精品成人在线| 五月婷婷无码专区| 婷婷丁香六月| 丁香婷婷老司机久操| 五月婷婷综合网| 婷婷六月久久综合导航| www色色com| 2020日日干| 欧美婷婷五月激情| 激情五月天视频| 九热av| 国产综合激情五月久久| 丁香花五月天激情| 色情久久久| 久久婷婷五月天丁香| 亚洲图色五月天| 97丁香婷婷| 婷婷五月丁香伊人网| 丁香六月五月天| 中文字幕av亚洲| 26uuu另类| 久久婷婷色| 丁香五月天婷婷91| 久久深爱激情网| 亚洲激情四射| 婷婷激情啪啪| 五月天婷婷黄色| 婷婷综合网| 久久六月天| 狠狠色噜噜狠狠狠888| 久久大香蕉丁香| 97精品欧美91久久久久久久| 99无码黄色视频| 国产在线激情视频| 综合五月草| 97碰在线视频| 99视频在线看| 日日干日日色| 丁香六月欧美| 国产脫衣舞一区二区三区| 丁香六月婷婷色XXXXX| 99久久婷婷精品视频| 一根材五月婷成人| 性一交一乱一交A片久久四色| 五月刺激丁香月综合| 天天色天天爽| 人人摸人人摸| 久久99视频| 噜噜噜狠狠色综| 婷婷亚州综合| 日韩无码人妻一区二区三区综合| 丁香五月天综合| 九九热91| AAA亚洲AV| 大香蕉五月婷婷丁香| 开心婷婷五月天电影院| 啊V视频在线观看| 五月婷婷人人人操| 黄网免费看| 婷婷九九| 成片免费播放| 色婷亚洲五月丁香| 99热思思| 久草a片| 五月综合视频| 五月天婷综合| 97干在线观看视频| 精国产品一区二区三区A片| 亚洲精品色色| 久久婷五月| 色 丁香婷婷| 九九亚洲天堂| 色操b| 另类图片五月天婷婷| 五月四色婷婷| 在线观看国产高清视频免费网站 | 熟女重口味αV| 婷婷俺去也| 婷婷五月花免费视频在线| 五月天婷婷成人网| 丁香五月天色| 欧美色一级色| 少妇人妻综合色6699| 91精选国| 亚洲丁香五月在线观看| 丁香五月婷婷亚洲天堂| 超碰网站在线观看| 色五月成人| 五月天综合在线| 六月天丁婷婷| 五月丁香六月激情| 超碰人人射| 五月丁香久久| 激情五月婷婷色综合| 欧美A A A A A| 国产日韩欧美性爱| 激情色播| 天天日夜夜| 这里只有国产精品在线| 日本97在线观看| 激情五月天综合网| 91久操| 99热这里只有精品16| 天天干天天日日| 玖玖色综合色| 久久激情五月网| 久草五月天| 99视频只有精品| 五月丁香青草综合啪啪| 三级99热| 色情婷婷五月天| 都市激情小说婷婷| 五月色丁香| 亚洲天堂色色| 亚洲色无码| 另类在线| 日产精品久久久久久久蜜臀|