日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

PHP項(xiàng)目ElasticSearch實(shí)戰(zhàn):從LIKE查詢優(yōu)化到完整搜索鏈路搭建

PHP項(xiàng)目ElasticSearch實(shí)戰(zhàn):從LIKE查詢優(yōu)化到完整搜索鏈路搭建 PHP 項(xiàng)目里做搜索最怕的不是寫不出查詢語句而是數(shù)據(jù)量一上來LIKE %關(guān)鍵詞%直接把數(shù)據(jù)庫(kù)拖垮。我見過太多項(xiàng)目在初期用 MySQL 的模糊匹配湊合等到商品表過了百萬行一個(gè)搜索請(qǐng)求能把 CPU 打滿頁(yè)面轉(zhuǎn)圈轉(zhuǎn)到用戶關(guān)掉。這時(shí)候才想起來上 ElasticSearch往往已經(jīng)積了一堆歷史包袱。這篇內(nèi)容就是聊這件事在 PHP 里怎么把 ElasticSearch 用起來從環(huán)境搭建、索引設(shè)計(jì)、數(shù)據(jù)同步到查詢構(gòu)造和踩坑處理把一條完整的鏈路講透。不管你是剛接觸 ES 的新手還是已經(jīng)能跑通 Demo 但總在真實(shí)場(chǎng)景翻車的開發(fā)者下面這些內(nèi)容應(yīng)該都能對(duì)上你的痛點(diǎn)。1. 先想清楚PHP 項(xiàng)目為什么需要 ElasticSearch1.1 數(shù)據(jù)庫(kù)模糊查詢的天花板在哪很多人對(duì)搜索的需求認(rèn)知是滯后的。項(xiàng)目初期一個(gè)SELECT * FROM products WHERE title LIKE %手機(jī)%就能滿足需求開發(fā)快、不用額外維護(hù)服務(wù)看起來很美。但這個(gè)方案有三個(gè)硬傷隨著數(shù)據(jù)增長(zhǎng)會(huì)逐一暴露。第一是索引失效。前置通配符的LIKE查詢無法利用 B 樹索引MySQL 只能全表掃描。十萬行數(shù)據(jù)可能還能扛百萬行就是災(zāi)難一次查詢幾百毫秒到幾秒不等并發(fā)一上來直接雪崩。第二是相關(guān)性排序缺失。LIKE只能告訴你匹配到了沒法告訴你哪個(gè)更匹配。用戶搜無線藍(lán)牙耳機(jī)標(biāo)題里含耳機(jī)的商品全返回但哪個(gè)是用戶真正想要的數(shù)據(jù)庫(kù)給不出答案。第三是分詞能力為零。中文搜索里蘋果手機(jī)和手機(jī)蘋果在LIKE眼里是兩個(gè)完全不同的字符串但在用戶認(rèn)知里是一回事。沒有分詞就沒有真正的語義匹配。ElasticSearch 恰好在這三點(diǎn)上都是強(qiáng)項(xiàng)。它基于倒排索引查詢走的是詞條定位而非全表掃描它內(nèi)置相關(guān)性評(píng)分BM25 算法能按匹配度排序它支持中文分詞器能把句子拆成有意義的詞。這就是為什么搜索場(chǎng)景幾乎成了 ES 的標(biāo)配戰(zhàn)場(chǎng)。1.2 ES 在 PHP 技術(shù)棧里的定位需要明確一點(diǎn)ES 不是數(shù)據(jù)庫(kù)的替代品而是搜索層的補(bǔ)充。它擅長(zhǎng)的是查不擅長(zhǎng)事務(wù)性寫。你的訂單、庫(kù)存、用戶余額這些強(qiáng)一致性數(shù)據(jù)永遠(yuǎn)應(yīng)該以 MySQL 為準(zhǔn)ES 只存一份用于檢索的副本。這個(gè)定位想不清楚后面同步邏輯就會(huì)寫歪。在典型的 PHP 架構(gòu)里ES 的位置是這樣的業(yè)務(wù)數(shù)據(jù)寫入 MySQL通過某種同步機(jī)制把需要檢索的字段推送到 ES 建立索引用戶發(fā)起搜索請(qǐng)求時(shí)PHP 直接查 ES 拿到文檔 ID 列表再按需回表查 MySQL 補(bǔ)全詳情或者干脆把展示所需字段全冗余進(jìn) ES一次查詢搞定。前者數(shù)據(jù)一致性好但多一次查詢后者性能高但有冗余維護(hù)成本。選哪種取決于你的業(yè)務(wù)對(duì)實(shí)時(shí)性和字段變更頻率的要求。我個(gè)人的經(jīng)驗(yàn)是列表頁(yè)展示的字段盡量冗余進(jìn) ES比如商品標(biāo)題、價(jià)格、主圖、銷量這樣搜索列表一次 ES 查詢就能渲染不用回表。詳情頁(yè)再走 MySQL。這個(gè)折中方案在大多數(shù)電商、內(nèi)容類項(xiàng)目里都?jí)蛴谩?.3 什么規(guī)模才值得引入不是所有項(xiàng)目都該上 ES。一個(gè)日活幾百、數(shù)據(jù)量幾萬的小站引入 ES 帶來的運(yùn)維成本可能超過收益。判斷標(biāo)準(zhǔn)可以看這幾條單表數(shù)據(jù)量是否超過五十萬且持續(xù)增長(zhǎng)、搜索是否是核心功能而非邊緣需求、是否對(duì)搜索的相關(guān)性和響應(yīng)速度有明確要求。三條里中兩條以上就值得考慮。反過來說如果只是后臺(tái)管理里偶爾查一下或者數(shù)據(jù)量很小老老實(shí)實(shí)用數(shù)據(jù)庫(kù)加索引優(yōu)化別給自己找麻煩。ES 是個(gè) JVM 服務(wù)內(nèi)存占用不小運(yùn)維也需要一定經(jīng)驗(yàn)小項(xiàng)目硬上反而是負(fù)擔(dān)。2. 環(huán)境搭建PHP 側(cè)和 ES 側(cè)怎么對(duì)接2.1 ES 服務(wù)的部署與版本選擇ES 的版本選擇有個(gè)坑客戶端庫(kù)版本必須和服務(wù)端大版本對(duì)齊。PHP 官方客戶端elasticsearch-php的 7.x 只能連 7.x 的 ES8.x 連 8.x跨大版本基本連不上或者行為詭異。所以第一步是先定 ES 版本再裝對(duì)應(yīng)客戶端。部署方式上開發(fā)環(huán)境用 Docker 最省事一條命令起一個(gè)單節(jié)點(diǎn)docker run -d --name es-dev \ -p 9200:9200 \ -e discovery.typesingle-node \ -e ES_JAVA_OPTS-Xms512m -Xmx512m \ elasticsearch:7.17.0這里discovery.typesingle-node是單節(jié)點(diǎn)模式必須的否則 ES 會(huì)嘗試組建集群然后因?yàn)檎也坏狡渌?jié)點(diǎn)而反復(fù)報(bào)錯(cuò)。ES_JAVA_OPTS限制堆內(nèi)存開發(fā)機(jī)內(nèi)存有限不限制的話默認(rèn)可能吃掉一半物理內(nèi)存。生產(chǎn)環(huán)境則要正經(jīng)配置集群、副本、磁盤水位線這些不在本篇展開但心里要有數(shù)。啟動(dòng)后用curl http://localhost:9200驗(yàn)證返回一段帶版本號(hào)的 JSON 就說明活了。注意 ES 7 之后默認(rèn)開啟了安全認(rèn)證如果返回 401說明需要用戶名密碼開發(fā)環(huán)境可以在配置里關(guān)掉安全模塊生產(chǎn)環(huán)境則必須配好證書和賬號(hào)。2.2 PHP 客戶端的安裝與初始化用 Composer 裝客戶端版本號(hào)要和 ES 對(duì)齊composer require elasticsearch/elasticsearch:^7.17初始化客戶端的代碼長(zhǎng)這樣use Elasticsearch\ClientBuilder; $client ClientBuilder::create() -setHosts([http://127.0.0.1:9200]) -setRetries(2) -build();setRetries(2)這個(gè)參數(shù)值得說一下。ES 在高負(fù)載時(shí)偶爾會(huì)返回 429請(qǐng)求過多或者連接超時(shí)客戶端自動(dòng)重試能擋掉一部分瞬時(shí)抖動(dòng)。但重試次數(shù)別設(shè)太大否則一個(gè)慢請(qǐng)求會(huì)拖垮整個(gè) PHP 進(jìn)程。兩次是個(gè)比較穩(wěn)妥的值。如果你的 ES 開了認(rèn)證初始化時(shí)要加認(rèn)證信息$client ClientBuilder::create() -setHosts([http://127.0.0.1:9200]) -setBasicAuthentication(elastic, your_password) -build();提示客戶端實(shí)例應(yīng)該做成單例或者依賴注入容器里的共享服務(wù)不要每次請(qǐng)求都 new 一個(gè)。ClientBuilder 的構(gòu)建過程有一定開銷頻繁創(chuàng)建會(huì)拖慢響應(yīng)。2.3 中文分詞的現(xiàn)實(shí)選擇中文搜索繞不開分詞器。ES 自帶的 standard 分詞器對(duì)中文是按單字切的蘋果手機(jī)會(huì)被切成蘋果手機(jī)搜索手機(jī)能匹配上但相關(guān)性很差而且索引體積膨脹。實(shí)際項(xiàng)目里通常裝 IK 分詞器插件它提供ik_smart粗粒度和ik_max_word細(xì)粒度兩種模式。安裝方式是在 ES 的 plugins 目錄下解壓對(duì)應(yīng)版本的 IK 插件包重啟 ES 生效。版本必須和 ES 嚴(yán)格一致7.17 的 ES 就裝 7.17 的 IK差一個(gè)小版本都可能加載失敗。建索引時(shí)指定分詞器{ mappings: { properties: { title: { type: text, analyzer: ik_max_word, search_analyzer: ik_smart } } } }這里analyzer是寫入時(shí)的分詞方式用細(xì)粒度保證召回search_analyzer是查詢時(shí)的分詞方式用粗粒度保證精度。這個(gè)組合是實(shí)踐里比較穩(wěn)的搭配寫入時(shí)盡量多切詞查詢時(shí)切得粗一點(diǎn)避免把用戶輸入的詞切得太碎導(dǎo)致匹配發(fā)散。3. 索引設(shè)計(jì)字段類型選錯(cuò)后面全是坑3.1 text 和 keyword 的本質(zhì)區(qū)別這是新手最容易搞混的一對(duì)類型也是索引設(shè)計(jì)里最關(guān)鍵的分水嶺。text類型會(huì)被分詞適合全文檢索比如商品標(biāo)題、文章正文keyword類型不分詞整段作為一個(gè)詞條存儲(chǔ)適合精確匹配、聚合、排序比如商品 ID、分類編碼、狀態(tài)值。一個(gè)字段如果既要全文搜索又要精確聚合標(biāo)準(zhǔn)做法是建兩個(gè)字段用fields多字段特性{ properties: { brand: { type: text, analyzer: ik_max_word, fields: { raw: { type: keyword } } } } }這樣brand用于全文搜索brand.raw用于聚合和精確過濾。代價(jià)是存儲(chǔ)翻倍但對(duì)關(guān)鍵字段來說這個(gè)代價(jià)值得。我見過有項(xiàng)目把品牌字段只建成 text結(jié)果做品牌聚合時(shí)發(fā)現(xiàn)聚合出來的是一個(gè)個(gè)碎詞完全沒法用只能重建索引數(shù)據(jù)量大的時(shí)候重建一次要幾個(gè)小時(shí)。3.2 數(shù)值、日期與布爾字段的取舍數(shù)值字段看似簡(jiǎn)單其實(shí)有講究。integer、long、float、double要根據(jù)實(shí)際范圍選別一律用long浪費(fèi)空間。價(jià)格這種涉及金額的字段建議用scaled_float配合縮放因子避免浮點(diǎn)精度問題{ price: { type: scaled_float, scaling_factor: 100 } }這樣存 19.99 實(shí)際存的是 1999查詢和聚合都按整數(shù)算精度可控。日期字段用date類型格式建議顯式指定別依賴默認(rèn)的寬松解析{ created_at: { type: date, format: yyyy-MM-dd HH:mm:ss||epoch_millis } }布爾字段用boolean但要注意 ES 對(duì)布爾值的解析比較寬松true、1、1 都能識(shí)別成 true這在數(shù)據(jù)同步時(shí)可能帶來意外最好在 PHP 側(cè)就統(tǒng)一轉(zhuǎn)成真正的布爾值再寫入。3.3 一個(gè)可落地的商品索引 mapping 示例把上面的要點(diǎn)串起來一個(gè)電商商品索引的 mapping 大概長(zhǎng)這樣{ settings: { number_of_shards: 3, number_of_replicas: 1 }, mappings: { properties: { id: {type: long}, title: { type: text, analyzer: ik_max_word, search_analyzer: ik_smart }, brand: { type: text, analyzer: ik_max_word, fields: {raw: {type: keyword}} }, category_id: {type: keyword}, price: {type: scaled_float, scaling_factor: 100}, stock: {type: integer}, status: {type: keyword}, sales: {type: integer}, created_at: {type: date, format: yyyy-MM-dd HH:mm:ss||epoch_millis} } } }分片數(shù)number_of_shards一旦建索引就不能改除非 reindex所以初期要估好。經(jīng)驗(yàn)值是單分片數(shù)據(jù)量控制在幾十 GB 以內(nèi)小項(xiàng)目 1 到 3 個(gè)分片足夠。副本數(shù)可以隨時(shí)調(diào)整開發(fā)環(huán)境設(shè) 0 省資源生產(chǎn)環(huán)境至少 1。4. 數(shù)據(jù)同步MySQL 到 ES 的橋怎么搭4.1 同步策略的三種流派數(shù)據(jù)從 MySQL 到 ES主流有三種做法各有適用場(chǎng)景。雙寫業(yè)務(wù)代碼里寫完 MySQL 緊接著寫 ES。優(yōu)點(diǎn)是實(shí)時(shí)性最好缺點(diǎn)是代碼侵入強(qiáng)而且一旦 ES 掛了或者寫失敗數(shù)據(jù)就不一致了需要補(bǔ)償機(jī)制。適合對(duì)實(shí)時(shí)性要求極高且能接受復(fù)雜補(bǔ)償邏輯的場(chǎng)景。異步隊(duì)列寫完 MySQL 發(fā)一條消息到隊(duì)列消費(fèi)者負(fù)責(zé)寫 ES。解耦了業(yè)務(wù)和同步ES 抖動(dòng)不影響主流程失敗可以重試。缺點(diǎn)是有延遲通常幾百毫秒到幾秒。這是大多數(shù)項(xiàng)目的首選。定時(shí)全量/增量同步定時(shí)任務(wù)掃 MySQL 變更寫 ES。實(shí)現(xiàn)簡(jiǎn)單但實(shí)時(shí)性差適合數(shù)據(jù)變更不頻繁或者對(duì)實(shí)時(shí)性要求不高的場(chǎng)景。增量同步通??縰pdated_at字段做游標(biāo)。我的建議是核心搜索數(shù)據(jù)用異步隊(duì)列非核心的用定時(shí)增量。別一上來就雙寫除非你的業(yè)務(wù)真的差那幾百毫秒。4.2 用 updated_at 做增量同步的實(shí)操細(xì)節(jié)定時(shí)增量同步是最容易落地的方案但細(xì)節(jié)沒處理好會(huì)漏數(shù)據(jù)。核心邏輯是按updated_at游標(biāo)拉取變更記錄$lastSyncTime getLastSyncTime(); // 從緩存或配置讀取上次同步時(shí)間 $rows $db-query( SELECT * FROM products WHERE updated_at ? ORDER BY updated_at ASC LIMIT 1000, [$lastSyncTime] ); foreach ($rows as $row) { $client-index([ index products, id $row[id], body buildDoc($row), ]); } if (!empty($rows)) { saveLastSyncTime(end($rows)[updated_at]); }這里有幾個(gè)坑。第一時(shí)間精度問題。MySQL 的updated_at如果是秒級(jí)精度同一秒內(nèi)多條更新可能因?yàn)橛螛?biāo)推進(jìn)而漏掉。解決辦法是用配合去重或者把游標(biāo)精確到毫秒。第二刪除的數(shù)據(jù)同步不到。物理刪除后 MySQL 里沒記錄了增量掃不到。要么用軟刪除is_deleted字段要么單獨(dú)記錄刪除日志。第三批量寫入效率。逐條index很慢應(yīng)該用bulk批量提交每批 500 到 1000 條性能能提升一個(gè)數(shù)量級(jí)。4.3 bulk 批量寫入的正確姿勢(shì)bulk的 API 格式比較特殊是 NDJSON換行分隔的 JSONPHP 客戶端封裝好了用起來是這樣$params [body []]; foreach ($rows as $row) { $params[body][] [ index [ _index products, _id $row[id], ] ]; $params[body][] buildDoc($row); } $response $client-bulk($params);注意bulk返回的errors字段只要有任意一條失敗它就是 true需要遍歷items逐條檢查。很多人只看 HTTP 狀態(tài)碼 200 就以為成功了實(shí)際上部分文檔可能因?yàn)?mapping 沖突、字段類型不符等原因?qū)懭胧?。這個(gè)檢查邏輯一定要寫if ($response[errors]) { foreach ($response[items] as $item) { if (isset($item[index][error])) { // 記錄失敗原因通常是 mapper_parsing_exception logError($item[index][error]); } } }5. 查詢構(gòu)造把用戶的一句話翻譯成 ES 查詢5.1 match、term、bool 各管什么ES 的查詢 DSL 種類繁多但日常用得最多的就三類搞清楚它們的邊界大部分需求都能拼出來。match是全文檢索會(huì)對(duì)查詢?cè)~分詞后去匹配 text 字段按相關(guān)性打分。用戶輸入的搜索關(guān)鍵詞走這個(gè)。term是精確匹配不分詞直接拿整個(gè)值去匹配 keyword 字段用于過濾比如狀態(tài)、分類。bool是組合查詢把多個(gè)條件用must必須滿足參與打分、filter必須滿足不參與打分、should滿足其一影響打分、must_not必須不滿足組合起來。關(guān)鍵區(qū)別在于filter 和 mustfilter 不計(jì)算相關(guān)性分?jǐn)?shù)而且結(jié)果可以被緩存性能更好。所以凡是精確過濾性質(zhì)的條件比如狀態(tài)等于上架、價(jià)格在區(qū)間內(nèi)、分類屬于某類一律放 filter別放 must。這個(gè)習(xí)慣能讓查詢快不少。5.2 一個(gè)帶過濾、排序、分頁(yè)的完整查詢把用戶搜索場(chǎng)景拼出來大概是這樣$params [ index products, body [ query [ bool [ must [ [match [title $keyword]] ], filter [ [term [status on_sale]], [range [price [gte 100, lte 5000]]], [term [category_id $categoryId]], ], ], ], sort [ [_score [order desc]], [sales [order desc]], ], from ($page - 1) * $size, size $size, ], ]; $response $client-search($params);這個(gè)查詢的邏輯是標(biāo)題必須匹配關(guān)鍵詞參與打分同時(shí)狀態(tài)、價(jià)格、分類作為過濾條件不參與打分排序先按相關(guān)性再按銷量。from和size做分頁(yè)。這里有個(gè)性能陷阱深度分頁(yè)。from size超過一萬時(shí)ES 要在每個(gè)分片上取from size條再歸并內(nèi)存和 CPU 開銷急劇上升。ES 默認(rèn)max_result_window是 10000超過直接報(bào)錯(cuò)。解決辦法是用search_after游標(biāo)分頁(yè)或者限制用戶只能翻到前 N 頁(yè)。電商場(chǎng)景里用戶翻到第一百頁(yè)的概率極低限制頁(yè)數(shù)是最省事的做法。5.3 高亮、聚合與拼寫糾錯(cuò)搜索列表通常要關(guān)鍵詞高亮ES 原生支持highlight [ fields [ title new \stdClass(), ], pre_tags [em classhl], post_tags [/em], ],返回結(jié)果里highlight.title就是帶標(biāo)簽的片段。注意new \stdClass()是為了在 PHP 里序列化成空對(duì)象{}直接寫空數(shù)組[]會(huì)被序列化成[]ES 不認(rèn)。聚合用于做篩選面板比如按品牌、分類統(tǒng)計(jì)數(shù)量aggs [ brands [ terms [field brand.raw, size 20], ], ],拼寫糾錯(cuò)用suggest的term或phrasesuggester適合用戶輸錯(cuò)字時(shí)給你是不是想搜的提示。這個(gè)功能不是必須但加上體驗(yàn)會(huì)好很多尤其是商品名有生僻詞的時(shí)候。6. 踩過的坑與排查鏈路6.1 數(shù)據(jù)寫進(jìn)去了卻搜不到這是最高頻的問題排查要按鏈路走。先確認(rèn)文檔真的寫進(jìn)去了用GET /products/_doc/{id}直接查文檔看_source里字段對(duì)不對(duì)。如果文檔在但搜不到八成是分詞或字段類型問題。比如標(biāo)題字段建成了keyword那match查詢手機(jī)永遠(yuǎn)匹配不上因?yàn)檎麄€(gè)標(biāo)題被當(dāng)成一個(gè)詞條。用GET /products/_analyze接口看分詞結(jié)果{ analyzer: ik_max_word, text: 蘋果手機(jī) }如果返回的是單個(gè)字而不是詞說明 IK 沒裝好或者 analyzer 名字寫錯(cuò)了。如果分詞正常但搜不到檢查查詢字段名是否拼錯(cuò)或者 filter 條件是否把結(jié)果全過濾掉了——這種情況很常見狀態(tài)字段的值和實(shí)際數(shù)據(jù)對(duì)不上比如代碼里寫on_sale但數(shù)據(jù)里存的是1。6.2 集群健康狀態(tài)變黃或變紅GET /_cluster/health返回的status有三種green 一切正常yellow 主分片正常但副本未分配red 有主分片未分配。開發(fā)環(huán)境單節(jié)點(diǎn)時(shí)副本數(shù)設(shè)了 1 就會(huì)一直 yellow因?yàn)楦北緵]法分配到同一個(gè)節(jié)點(diǎn)上這是正常的把副本設(shè) 0 就綠了。生產(chǎn)環(huán)境變 yellow 通常是節(jié)點(diǎn)掉線導(dǎo)致副本無處分配變紅則是主分片丟了可能伴隨數(shù)據(jù)丟失。這時(shí)候要看GET /_cat/shards?v找出未分配的分片再看GET /_cluster/allocation/explain給出的原因常見的是磁盤水位超限默認(rèn) 85% 觸發(fā)只讀、節(jié)點(diǎn)數(shù)不足等。6.3 內(nèi)存溢出與慢查詢ES 是 JVM 服務(wù)堆內(nèi)存設(shè)置很關(guān)鍵。堆太小頻繁 GC 導(dǎo)致查詢變慢堆太大超過 32GB會(huì)失去指針壓縮反而降低性能。經(jīng)驗(yàn)值是物理內(nèi)存的一半且不超過 31GB。慢查詢用GET /_nodes/stats看search相關(guān)的指標(biāo)或者開慢查詢?nèi)罩緖 index.search.slowlog.threshold.query.warn: 2s, index.search.slowlog.threshold.fetch.warn: 1s }慢查詢?nèi)罩灸芏ㄎ坏骄唧w哪條 DSL 慢常見原因是用了腳本查詢、深度分頁(yè)、或者 filter 寫成了 must 導(dǎo)致無法緩存。把能轉(zhuǎn) filter 的條件都轉(zhuǎn)過去往往能立竿見影。7. 幾個(gè)讓代碼更穩(wěn)的工程習(xí)慣7.1 封裝一個(gè)搜索服務(wù)層別在控制器里直接拼 ES 查詢業(yè)務(wù)一復(fù)雜就亂成一鍋粥。抽一個(gè)服務(wù)類把索引名、查詢構(gòu)造、結(jié)果解析都收進(jìn)去class ProductSearchService { private $client; private $index products; public function __construct($client) { $this-client $client; } public function search(string $keyword, array $filters, int $page, int $size): array { // 構(gòu)造查詢、執(zhí)行、解析結(jié)果 } }好處是查詢邏輯集中、可測(cè)試、換索引名只改一處。而且以后要加緩存、加降級(jí)都有地方下手。7.2 降級(jí)與容錯(cuò)ES 不是永遠(yuǎn)可用的。網(wǎng)絡(luò)抖動(dòng)、集群重啟、查詢超時(shí)都可能發(fā)生。搜索接口要有降級(jí)方案ES 查失敗時(shí)要么返回空結(jié)果加提示要么降級(jí)到數(shù)據(jù)庫(kù)的簡(jiǎn)單查詢雖然慢但能出結(jié)果。關(guān)鍵是別讓 ES 的故障把整個(gè)頁(yè)面拖死。超時(shí)設(shè)置也要合理客戶端默認(rèn)超時(shí)可能偏長(zhǎng)搜索接口設(shè)個(gè) 1 到 2 秒比較合適超時(shí)就降級(jí)別讓用戶干等。7.3 索引別名與平滑重建mapping 建錯(cuò)了要改直接改是改不了的只能重建索引。為了不停機(jī)用別名指向真實(shí)索引# 建新索引 products_v2導(dǎo)入數(shù)據(jù) # 然后把別名 products 從 v1 切到 v2 POST /_aliases { actions: [ {remove: {index: products_v1, alias: products}}, {add: {index: products_v2, alias: products}} ] }代碼里永遠(yuǎn)查別名products重建時(shí)對(duì)業(yè)務(wù)無感。這個(gè)習(xí)慣建議從項(xiàng)目第一天就養(yǎng)成后面改結(jié)構(gòu)會(huì)輕松很多。7.4 監(jiān)控與日志至少監(jiān)控三個(gè)指標(biāo)集群健康狀態(tài)、查詢延遲、寫入失敗率。查詢延遲突然升高往往是數(shù)據(jù)量增長(zhǎng)或者慢查詢導(dǎo)致寫入失敗率升高可能是 mapping 沖突或者磁盤滿了。這些指標(biāo)接到現(xiàn)有的監(jiān)控體系里出問題能第一時(shí)間發(fā)現(xiàn)而不是等用戶投訴。日志方面把每次 ES 查詢的耗時(shí)、DSL脫敏后、結(jié)果數(shù)量記下來排查問題時(shí)非常有用。尤其是用戶反饋搜不到的時(shí)候能直接復(fù)現(xiàn)當(dāng)時(shí)的查詢條件。8. 寫在最后的幾句實(shí)在話ES 這套東西入門不難跑通 Demo 半天就夠難的是在真實(shí)數(shù)據(jù)量和真實(shí)業(yè)務(wù)場(chǎng)景下保持穩(wěn)定和準(zhǔn)確。我踩過的坑里大部分不是 API 用錯(cuò)而是設(shè)計(jì)階段的疏忽——字段類型選錯(cuò)、同步邏輯漏了刪除、filter 和 must 混用、深度分頁(yè)沒限制。這些問題在數(shù)據(jù)量小的時(shí)候都不顯現(xiàn)等顯現(xiàn)的時(shí)候往往已經(jīng)要?jiǎng)哟笫中g(shù)。所以如果你正準(zhǔn)備在 PHP 項(xiàng)目里引入 ES我的建議是先把索引 mapping 設(shè)計(jì)好把同步鏈路想清楚把降級(jí)方案留好再動(dòng)手寫查詢。前期多花半天設(shè)計(jì)后期能省幾天排查。至于查詢 DSL 那些細(xì)節(jié)用著用著就熟了官方文檔寫得很全遇到具體問題查一下就行。真正拉開差距的是對(duì)業(yè)務(wù)搜索需求的理解和對(duì)邊界情況的預(yù)判。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
涩综合导航| 99视频只有精品| 欧美性爱网97| 亚洲av乱伦色图网站| 天天综合网亚洲综合网| 91久久精品国产| 丰满人妻-区二区三区免费看| 激情综合网五月婷婷| 91精品国产91熟女| 91爱欧美| 亚洲成人一二三区| 操操啪| 欧美在线播放| 久久久999国产| 国产白嫩精品久久| 色五月综合网| 国产三区免费在线观看| 大香蕉综合网| 青草精品视频一日本久久久久网站| 欧美综合站| 多乙久久久久久| 激情文学88| 后入内射蜜桃臀| 国产成人在线观看综合| 乱伦a片视频| 97天堂| 伊人欧美大香蕉视频| 国产精品肉丝自拍| 99色婷婷中文字幕乱色| 综合色图区| aaa亚无码专区| 奶水 人妻 哺乳 在线| 密臀AV在线| 久操视频免费在线观看| 好吊妞转入那个网| 在线只有精品| 欧美日韩第一页| 蜜乳AV色欲AVAV无码| 另类欧美色| yw尤物av无码点击进入麻豆| 传媒免费一区二区三区| 欧美久久婷婷| 天天看特黄的免费网站| 青青草视频导航官网| 麻豆国产原创AV色哟哟| 91精品大奶人妻| 91丨九色丨大屁股| 亚洲午夜免费狠狠干| 五月丁香网站| 久久精品国产精品亚洲艾通辽熟妇 | 欧美色图99| 国产蜜臀在线| 97在线公开视频| 欧美日韩制服| 色吧5亚洲| 一个国产在线综合网站| 做爱A级亚欧| 久久久久亚洲?V片无码V| 91在线视频观看国产| 精品性爱无码在线播放| 麻豆区99999| 亚洲成人精品久久久| 国产AV人人夜夜澡人人爽麻豆| 啊啊啊好大好湿| 婷婷国产精品一区二区| 色操逼网| 青青草视频这里只有精品| 99热亚洲天堂| 视频在线97| 人妻夜夜爽天天爽麻豆三区网站 | 囯产操逼片| 香蕉久久AⅤ...| 在线观看中文av字幕| 五月丁香啪啪啪| 久久色一区二区| 综合熟妇一区二区三区| 免费看黄片现成| 另类在线| 台湾佬中文娱乐网久久久久久久久久com| 久久伊人东京热| 免费岛国一级片| 黄片无码在线制服| 色亚州人久干视频在线观看免费版| julia国产在线| 一区操逼日比视频| 爱爱动态试试看6 0秒| 蜜臀99久久国产| 免费观看国产不卡av| 久久久久日本视| 青青草字幕AV| 精品999999| 婷婷五月天AV| 好一吊区二区| 欧美疯狂做爰xxxx| 999九九九九国产动| 在线播放免费av福利片| 99.色网| 香蕉欧美| 国产五码丝袜屁眼| 国产成年女人免费视频播放a| 97干日韩| 激情小说日韩无码| 欧美国产操逼| 国产精品乱码久久久久久久久久久久| 久久东京热久久| 色逼综合| 开心六月色| 97K超碰在线| 色色五月天激情| 精品1区2区3区| 久久精品亚洲成a人天堂| 91亚洲青青草原精品1区| 91搡老女人老妇女老熟女歌词翻译| 91丨九色丨东北熟女| 国产精品操| 天堂九九九九九九九九九| 亚洲另类春色| 97超视频在线观看| 九九在线视频| 韩三级a视频在线观看| 夜夜 中文视频rt| 美女被艹尤物视频| 人人性爱视频免费| 熟女露脸激情自拍视频| 亚洲熟女中文字幕在线| 欧美91精品国产自产| 97 国产一区| 啪一啪免费视频| 中文字幕一区二区三区人妻不卡| 欧美亚综合色图| 逼逼逼逼操操操操操操操操操午夜剧场| 九99久久| 欧美狠狠弄| 午夜精品视频777| www.av家庭乱伦| 精品欧美日韩在线观看| 久久伊人网视频一区二区三区| 久久性爱网站| 国产精品一区二区密臀| 久久综合乱子伦国产免费| 国产深喉| 俄罗斯一区二区视频在线观看| 高清肉丝中文无码| 天天看综合网| 美国aaaaa一级黄片| 久久春色| 欧美亚洲手机在线| 国产精品色约约| 久久午夜伦| 3d成人精品一区二区| 一区AV| 一本色道人妻久久| 色婷婷婷五月天激情四射| 人妻熟女字幕一区二区| 超碰av在线| 中文字幕亚洲在线一区| 人妻乱仑一区二区三区| 亚洲日韩国产欧美综合v| 亚洲国产精品99久久久| 亚洲激情片| 欧美色乱| 夜夜操美女| 成人五月天丁香激情综合| 精品一级毛片在线观看| av三级电影在线播放| 欧美色图综合| 国产最火爆久久国产网站网站| 欧美组图日韩亚洲中文字幕| 国产精品懂色tv影视免费观看| 97精品网| 18禁无码永久免费无限制| 天天射天天操天天干天天吃2018 | 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 涩爱AV在线| 日韩欧美国产高清视频| 欧美人妻一区二区| 屌妞视频久久久久久久久久久久| 熟啊v色欧美热| 日韩精品怡红院| 国产外初女出血视频| 一本色道久久综合亚洲二区三区| 哈哈操 大香蕉| 99热在线观看| 午夜寂寞欧美| 天天影视网综合少妇| sss视频华人在线| 黄色片G G G| 亚洲色欲天天人妻无码系列专区| 男人精品天堂一区| 日本天天操| 九九亚洲视频| 99精品久久| 亚洲综合在线视频| 人人操人人摸人人看人人插| 精品99999久久久久久| 岛国精品视频在线观看 | 最新精品久久蜜桃 | 97青娱乐超碰久久| 欧洲中文字幕| 日本狠狠干| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 日韩乱码Av| 性爱乱伦一区| 欧美日韩激情无码专区| 日本操逼aaaaa| 狠狠色一区二区中文字幕| 日韩素人无码一区二区三区三州| 丁香五月婷婷基地| 99∨VTV| 激情无码日韩| 亚洲精品乱码线路中文字幕| 人妻啪| 欧美亚洲第一页| 黑人精品一区二区在线播放| av毛片aaaaa免费看| 国产精品精品系列在线观看| 99精品人妻| 91性网| 99最新日韩偷拍视频| 男人 天堂 日 亚洲| 激情露脸爱| 殴美牲| 91oumei| 国产精品电影| 色一射色一射| AND人妻系列| 99.色网| 婷婷97| 激情综合久久| 99热思思| 婷婷五月天丁香花| 中文字幕视频在线观看一区二区| 欧洲天天在线| 欧美超碰96| 诱惑人妻欧美一区在线播放| 91国产丝袜美女| 日日干夜夜欢| 78精品在线| 国产久久久| 久久综合九色综合欧洲98| 中文字幕,人妻,日韩| 一类无码操逼视频| 91色久| 青青11操操操操操操操操| 亚洲一二三精品久久网| 神马视频久久久久久| 国产综合色精品在线观看| 五月天精品| 久久亚洲熟妇在线视频| 国产婷婷综合在线观看| 色天天野狼综合社区| 国产精品白丝AV| 淫淫综合网| A 天堂| 国产一区在线观看无码AV| 久久高清欧美国产| 校园春色综合| 一级特级aaaa毛片免费观看| 女生久久网| 久久精品人体| 四虎AV在线播放| 精品久久99| 日本性爱网址| 国产91会所女技师在线观看| 国语精品av| 欧美在线大香蕉| 九九综合久久| 国产浮力影院第1页| 久久久久久精| 清纯唯美第一页| 丁香九月激情| 狼人综合婷婷激情四射 | 啪啪视频免费在线观看| 99久久久久| 日本特黄f c2| 九九人妻| 人人看人人爰人人操| 久久精品99| 色香阁在线| 一区二区娱乐网站| 黄色av片三级三级三级免费看| 久久伊人最新网址视频| 热99这里有精品综合久久| 中文字幕无码不卡啪啪| 国产欧美后入| 91色综合色| 麻豆 亚洲 97| 亚洲啪啪啪啪视香蕉| 亚洲老司机123专区| 九九九九日本| 精品176精品2| 婷婷丁香六月| 91影视亚洲| 最新av中文字幕高清| 又黄又爽在线观看视频| 人妻熟女一区二区三区视频| 天天色播| 亚洲高潮影院| 色综合色色| 四虎免费在线播放| 黄色高清无码无码破解免费暗网| 欧美一区二区三区黄色影视| 国产欧美岛国精品一区| 亚洲的天堂网| 日本欧美亚洲高清在线看| surenchaopeng| 狠狠久久手机视频精品| 亚洲狠| 91美女国产在线| 国产蜜臀在线| 久久这里只| 亚洲精品久久久久久久蜜桃臀| 亚洲国产综合图区中文字幕| 久久久性| 九月丁香婷婷色| 草莓精品视频| 婷婷色婷婷| 亚洲国产一区二区三区在线| 九九人妻| 东京热毛片177b2viP| 亚洲色图欧美色图另类图片| 91伊人久| 九九伊人网| 少妇国产不卡| 亚洲 欧美 综合 91| 久久9精品| 色色色日本| 成人八戒网站| 久久一二三四五六七八九区区区| 乱理日韩中文| 色天天野狼综合社区| 国语少妇精| 麻豆国产97在线| 18禁免费视频| 男人的天堂亚洲| 亚洲综合性感在线| 97碰碰色| 国产精品呦一区二区三区| 国产在线视视频有精品| 欧美三级免费伊人| 欧美日韩国产精品久久色婷婷| 人人妻人人玩人人澡人人爽| 天堂俺去俺来也www久久婷婷| 欧美亚洲中文字幕| 啊啊好多水| 亚洲久草AV色图| 玖草在线视频| 日本欧美一区二区三区视频麻豆| 五月天婷婷久久| 狠狠热这里都是精品| 人妻少妇无码| 97在线精品观看视频| 天天日天天舔| 台湾佬大香蕉| 亚洲欧洲国产综合av| 精品大久久| 91美女高潮| 91露脸熟女专区| 久99热| 校园春色宗合网| 加勒比综合网| 丁香六月婷| 老女人91| 亚洲av影音先锋| 毛片17S| 风韵犹存大大大大香蕉 | JuliaAnnXXX888| 国产一级137片内射麻豆| 色色色综合网| 亚洲九九视频| av日韩在线观看电影| 久久综合精品一区二区三区| 欧美综合91| 色婷婷综合网站| 亚洲日韩少妇一道本视频| 97综合网| www四虎| 91白嫩| 日韩中文字幕二区| 欧美亚洲色的图| 亚洲午夜福利在线影院| 天堂射| 999精品国产高清一区二区| 日本有码久久| 超碰美国| 久久精精区一区二区一蜜桃一区二区| 亚洲天堂资源在线| 日韩另类色图| 亚州综合在线| 亚洲日韩肥臀视频在线观看| 97超碰人人操人人操| 日韩欧美女优电影| 深夜国产一区二区三区在线看| 欧美综合 站| 黄色人人| 操淫穴亚洲五月丁香| 天天操人人操狠狠插| 久久嫩草国产成人一区| 中字幕人妻一区二区三区| 久久久久国产亚洲一区欧美色图日韩| 天天草天天日| 97色涩| 日本免费专区| 欧美97免费| 丁香五月婷婷啪啪| 亚洲天天操| 好湿好紧好爽 视频| 亚洲**2021在线观看| 欧亚第一综合网| 超碰国产精品久| 91精品少妇搡搡搡| 99re6久热只有精品6在线直播 | 大香蕉啪啪啪啪在线| 中国一级操逼视频| 亚洲中字慕不卡| 夜色五月天| 欧美人与动性人交a| 久噜噜| 成人午夜小视频手机在线看| 无码聚合| 综合网亚洲| 日本超碰在线国产一区| 精品无码不卡视频| 国产精品不卡少妇白| 99自拍B亚洲 | 免费成人自拍视频在线| 91丝袜美腿片| 久久久久成人蜜桃精品| 天天弄天天操| 中欧人妻丝袜中文字幕| 青青三级视频| 国产精品天美传媒| www网站黄| 久久久久亚洲Av无码专区老牛影视 | 秋霞一级鲁丝片A片| 人妻素股| 精品久久久久黄少妇| 日韩无码人妻中字久久三区四区| 久久久99999久网站| 国产1769在线| 74成人在线| 欧美日日人人天天| 久久久久久久少妇| 成人片在线播放| 中文字幕五月婷婷免费| 麻豆成人影音在线| 久久9精品网站| 97操97色| 天天日日夜夜| 久操视频资源站公开| 插入逼91| 人妻少妇精品视频一区二区三区| 91N综合网在线| 国产高清不卡视频| 人妻夜夜爽天天爽麻豆三区网站 | 超碰偷拍| 国产精品久久久久久片| 国产 日韩 欧美一区| 精品大全99999| 中文字幕十五区| 久久超碰爱| 婷婷深爱五月| 亚洲黄色a级片| 天天躁日日躁成人字幕aⅴ| 欧美色图91| 精产品久久| 熟女一区二区三区四区| 激情黄色五月天| 中文字日本乱码| 亚洲综合春色| 91爱综合| 欧美第一页性| 亚洲天堂,男人| 另类小色呦| 国产高清在线观看欧美| 国产精品久久久久无码A√| 亚洲欧美日韩免费观看| 黄色大片视频在线免费看| 91网站18禁| 九月伊人中文字幕| 日韩国产欧美伦理在线| 欧美久久婷| 九一性生活免费视频| 中美日韩毛片| 亚洲久9| 欧美性爱1080p| 91色噜噜狠狠| 欧美亚洲小说| 九九热精品| 色香91| 中文精品一区二去| www.四虎在线| 亚洲天堂2020| 青青草中文-久久青草精品一区二区三| 乱老熟女一区二区三区| 明星性猛交ⅹxxx乱大交| 一起草av| 少妇色欲综合网2| 91小视频| 中文字幕一区二区三四五区日日骚| 熟女乱3伦999| AND人妻系列| 啪啪自拍九九综合| 人妻熟女一区在| 欧美黑人与女人91| 鸥美极品| 夜夜夜夜爽| 97资源站国产精品| 九九九九9999| 不卡av在线中文字幕| 亚洲精品第一| 殴美,日韩国产伦精品| 99操| 久久国产精品一区二区| 亚欧免费观看视频| 欧美日本一区二区a人| 色综合色综合网| 91人妻超碰| 97欧美日韩中文| 91精品久久久久久| 欧美高清18A片| 超碰成人最新最好看| 日本三级中国三级99人妇网站| 二区熟妇韩日| 欧美丰满少妇交换91欧美精品| 啊啊啊啊好爽好舒服一区二区易域| 无码久久国产 | 精品午夜福利| 亚洲成人免费中文字幕| 91狠| 夜夜爽夜夜摸夜夜操免费视频| 91综合网在线| 久久成人国产| 人妻出轨一区二区三区| 懂色av中文字幕| 天天干天天操天天操夜夜操天天操| 久久久久久日韩| 午夜人妻精品综合在线| 日本天天干天天搞一区| 超碰97护士| 另类 日韩 熟女| 快点操死我| 色97欧美| 99热在线观看| 亚洲美女色图| 国产一级内射高清视频| 91热爆在线| 成人十八禁日韩欧美一二三| 思思热国产高清| 91粉嫩萝控精品福利网站_精品影音先锋国 | 亚洲综合影视| 97欧美日韩| 99久久精品国产高潮| 男插女青青影院| 久久免费少妇| 在线综合 亚洲 欧美中文字幕| 超碰精品日韩欧美国产| 亚洲色五月| 欧洲大香蕉| 无码人妻一区二区三区色欲aⅴ| 91中文在线| 亚欧操逼片在线观看 | 手机看片91人妻| 激情五月综合| 久久久久女教师免费一区| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 超碰视97中文| 久久直播国产| 久久久久久久久久久久久久久久9 亚洲成人妻日韩在线 | 日本有码久久| 国产久久天堂资源| 六月婷婷综合| 超碰偷拍| 亚洲AV永久无码一区仙野| 少妇第一页| 国产精品一级片在线看| 日韩97精| 日本道久久综合色色| 91女优在线观看 | 日韩中文字墓| 精品人妻一区二区免费蜜桃| 97啪啪| 蜜臀av一区二区三区免费观看| 国产精品禁久久久精品| 色五月综合| 欧美激情 亚洲色图| 91九色在线| 国语少妇精| 大稥蕉免费视频这里只有精品| 香蕉视频欧美一卡二卡| 色婷婷aV一区二区三区麻豆综合| 日韩在线国产字幕| 欧美狠狠操| 日韩欧美aⅴ综合网站发布| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 亚洲永久AV无码精品秋霞| www熟女乱伦com| 精品视频专区| 成人网站 免费观看| 不卡六六在线91| 五月天成人综合| 亚洲日韩天堂| 日本精品免费一区二区三区四区| 九九综合久久中文字幕| 久久九九热| 九九色精品| 成人国产视频在线观看| 青青草色插素人| 大香蕉黄色一区| 校园春色亚洲| 亚州综合AⅤ| 制服乱伦| 亚洲国产一级黄色视频| 色在线69堂| 六六久久日韩不卡| 1人人看人人摸人人操| 国产免费一区| 又大又白奶子| 午夜福利精品| 91精品91久久久久77777俄罗斯老妇姓x| 麻豆蜜桃视频在线观看| 日日操丁香五月天| 丁香九月婷婷| 亚洲综合一| 无码又爽又硬又激情免费视频| 国产一区二区成人av在线播放| 天天插天天操天天摸天天射天天看| 国产67194| 免费少妇一区二区| 97色香蕉| 九九九九一级| 色哟哟-国产专区| 色婷婷五月综合激情中文字幕| 思思久热在线精品66| 人人妻人人色一区二区三区| 亚洲官网在线| 天天摸天天插天天日| 激情五月天婷婷| 无码直播久久久| 久久香蕉国产线看观看亚洲女人| 蜜臀AV成人精品蜜臀AV久久| 超碰人人草| 少妇人妻好深太紧了vr91| 91精品人妻| 欧美九一精品久久久熟妇| 欧美最婬乱婬爆婬性视频 | 丰满人妻一区二区三区大胸懂色 | 死我十八禁| 自拍欧美| 欧美有码亚洲中文字幕一区二区三区四区| 国产精品久久伊人| 国产熟女完整版中字| AVE乱伦| 国产精品久久泡妞网站| 亚洲好色人妻| 道久久五香丁月婷婷激情综合| 9热9热综合网| 人妻久热在线| 乱人伦 国语对白:视频直接看| 国产精品久久久久久片| 欧美成人四级在线播放| 岛国福利在线精品播放| 亚洲日韩人妻中文字幕一区| 91色香| 亚洲天堂2020| 大香久久| 人妻少妇精品视频一区二区三区| 青青草原伊人网| 精品人妻视频一区二区在线播放| 久久宗合亚洲| 九区国产| 超碰在97| 精吧天堂| 色777999综合| 中文字幕欧洲有码| 熟妇人妻一二三区免费| 国产97色在线 | 亚洲| 中文字幕精品三级久久久| 天欧美在线| 欧美极品少妇| 2020中文字幕在线| 国产精品另类一区大香蕉| 夜夜骑日日| 无码二级三级| 丝袜足交视频| 秋霞怕怕片| 操逼视频国产无套| 三级激情网站| 日本熟妇人妻中出视频| 国产一区二区三区影片| 99在线免费观看| 一色网男人的天堂| 超碰性爱97| 四季AV一区二区凹凸精品小说| AV99热18这里只有精品| 亚洲色图第四色| 亚洲色天堂九9| 俞拍久久国应视频| 99无码狠狠久久| A一区片| 国产午夜无码片在线观看影视 | 欧美色www亚洲国产阿娇要播| 久久精品国产AV一区二区三区| 免费一级黄色录像影片| 久久精品亚洲成a人天堂| 色五月大香蕉| 天操天操夜操夜月操月年年操| 欧美老妇女内射网址| 丰满人妻一区| 夜色综合| 视频国产精品未满十八禁止在线观看| 麻豆国产免费影片| WWW4虎| 99国内熟女露脸视频| 久久男人| 激情 欧美 亚洲 小说| 人人射人人操人人摸| 欧美图片偷拍| 久久视频少妇美女| 欧美天堂在线| 中文字幕奈奈美被公侵犯| 欧美在线播放aaaa| 9热9热综合网| 亚洲操操操无码| 国产婷婷综合在线观看| 中文字幕精品区先锋资源| 爱射综合| 亚洲有薄码区久久在线一区| 天堂v无码免费视频| 极品美女福利在线观看| 无码一区二区三区四区五区六区七区八区九区十区视频 | 欧美在线55555| 午夜噜噜噜| 黄色片一区二区三区四区五区| 99re国产中文字幕| 夜夜狠狠躁日日躁色视频| 日韩天天综合| 国产精品嫩草影院免费| 搡老女人老妇女老妇老熟女怎么读| 99热大香蕉伊在线| 深夜福利黄片| 噜噜噜狠狠色综合| 日韩精品一区,二区 九九...老司机| 久久天堂| 色婷婷六月| 欲色啪| 操操吧亚洲乱伦视频| 中文字幕在线观看丝袜| 超碰这里有精品| 99这里只有精品国产| 95精品在线| 97美日韩视频| 欧美刺激色黄片免费看| 97AV在线免费观看| 亚洲黄色视频在线观看视频| 精品国产乱码久久久久久久久1| av日韩中文字幕| 欧美日韩亚洲一区二区在线观看| 久久精品免费| 国产精品九九九| 九九性视频| 99精品无码| 最新日产中文在线麻豆| julia中文字幕在线观看| 国产在线综合网| 熟妇人妻精品一区二区视频色欲| 欧美自拍网| 精品国产久热在线观看| 伊人午夜福利视频| 國產尤物AV尤物在線觀看| 韩日巨乳美女免费视频在线观看| 久久黄片国产一区二区| 69综合网| 亚洲av国产av综合av卡| 日本97久久久精品| 九九精品无码专区免费| 超碰 av 女人天堂| 欧美五十路熟| B049AV在线播放| 操逼逼中文字幕| 久久久久921| 国产精品成人蜜臀AV在线| 熟妇激情| 国产一区二区视频在线播放| 老鸭窝在线视频播放| 超碰在线国产| 亚洲 在线| 九九热男人天堂| 国产欧美在线观看免费观看| 成人熟女视频一区二区三区| 韩美日操逼| 久久一二三四不卡| 人妻人人做人人澡人人爽欧美一区| 日本新免费二区三区| 日韩乱伦影音先锋| 美女91网址 | 中文字幕在线日亚州9| 老熟乱一区二区三区四区| 欧美国产日韩清纯唯美| 免费人成毛片乱码| 新视频sss国产| 国产精品久久久三级无码| 精品少妇99| 中国探花熟女| 精品无码一区二区| 国产极品精品美女视频| 久久后入制服| 黑人与人妻| 国产精品自产拍在线观看社区| 日韩国产中文字幕| 亚洲激情在线| 26uuu国产亚洲综合| 玖玖资源中文字幕制服丝袜| 偷拍亚洲| 91久久久久免| 一起草视频在线| 少妇二级| 精品人妻一区二区三区四区石在线| 国产综合色精品在线观看| 精品人妻一区二区免费蜜桃| 97精品熟女少妇一区| 91蜜桃传媒精品久久久一区二区| www99热| 午夜福利1区2区3区| 少妇久久久免费| 国产剧情一区在线观看| 亚洲图片日本AⅤ欧美在线| 超碰97人人乐| 一道本东京热加勒比一区二区三区| 中文字幕交换人妻| 蜜臀久久99精品久久久久久-DVD原版全| 大香网伊人久久综合网eew| 六月激情婷婷| www.伪伪| 吉川爱美98堂在线| 欧洲中文字幕| 97爱爱官网| 在线视频一区二区传媒| 精品国产精品一区二区| 99久国产精品午夜性色福利| 大香蕉草草| 亚洲91网站| 97色在线观看| 极品极品色影院| 午夜视频久久久久一区| 亚洲女人91| 久九9精品| 精产国品一区二三产品| 五月丁香色综合| 一本一道vs波多野结衣| 综合伊人激情| 爱逼综合| 91国产丝袜白虎| 屁股久久久久久久久| 美女的肌被草喷水视频| 大奶啊啊好爽 | 欧美色图自拍| 99热这里只有是精品10| 三级片大波波| 夂久色| 欧美性爱在线无码| 粉嫩不卡一区二区性爱| 中文字幕五月婷婷免费| 国产综合日韩伦理| 欧美人妻少妇| 日日操夜夜操天天操免费观看麻豆| 一本色道久久综合熟妇| 日日干男人的天堂| 国产一区麻豆免费观看| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 久九九九九九九热| 日本超碰在线国产一区| www久久久| 丁香五月自拍| 色色婷婷丁香| 亚洲国产日韩欧美熟妇在线| 亚洲美女自拍偷拍视频| 国产精品国产自产高清AV| www.色吧5.com| 国产一区二区免费福利片| 青春草莓视频在线观看网址| 精品人妻一区二区三区四区不卡在| 大香蕉线| 婷婷五月天激情四射| 精品国产乱码久久久久久网站入口| 久久日韩肥臀| 91中出视频| 天天网综合| 日本精品一区二区三区四区的功能| 欧美色图综合网| 九九九热| 99re免费视频精品全部| 超碰色男人操熟女| 操操逼操操逼操操逼逼| 亚洲色 国产 欧美 日韩| 丁香五月影院| 蜜臀久久99精品久久久老,,| 无码人妻一区二区一牛影视| 国产精品经典一卡久久久| 欧美天天综| 丰满精品人妻少妇久久字幕| 欧美国产操逼| 中文字幕熟女人妻丝袜丝| 欧美性色欧美| 91久久青青草原精品| 久久双插| 黄页视频网站野外| 抽插无码高清一区| 九九九九九九九精品视频| 搡老女人老妇女老妇老熟女怎么读| 国产一区二区三区不卡手机在线| 啊啊啊好舒服好爽啊啊啊视频| 97一本大道亚洲一区| 亚洲素人综合| 欧美少妇色图| 逼操网站| 亚洲天堂热| 国产精品经典一卡久久久| 嗯嗯啊啊视频一区二区三区| 亚洲极品| 女人天堂av在线播放| 激情五月天插| 无码国产精品午夜不卡(| 99超碰色| 青操影院| 超碰免费97| AA特级绝黄| 九九无码久久精品视频| 人妻夜夜爽天天爽麻豆三区网站| 久草毛片电影怡| 亚洲自拍小说| 欧美在线永久天堂| 精品国产久热在线观看| 精品国产一区二区久久| 超碰97亚洲区| 免费试看60秒| 久久肏大逼| 亚洲AV乱码专区国产噜噜亚洲| 曰韩少妇无码| 国产高清亚洲日韩一区| Blackedraw视频一区二区| 小草精彩毛片| 在线观看啊啊啊啊啊| 在线αⅴ| 欧美99| 久久动漫精品视频这里只有精品| 美女91AV| 中国东北熟女老太婆内谢| 欧洲综合视频| 国内外激情在线| 操逼日批| 91色女| 丝袜美腿操av| www.大香| 国产午夜福利视频在线| 91亚洲图片| 韩日无码在线观看| 久久伊人青青草| 伊人天天久久动态图| 亚洲精品三| 欧洲大香蕉| 欧洲欧美视频一区二区| 热久久91婷婷| 91制服丝袜中文字幕| 啪一啪免费视频| 啊啊啊不要好爽日韩无码一区| 欧美激情综合网| 在线不卡视频| 丝袜视频网国产90| 久久社区一区二区三区| 91久久午夜无码鲁丝片久久人妻| 91丝袜| 色99视频| 超碰碰97资源站| 亚洲操人| 国产熟码AV| 久久精品店| 九九九九97| 91在线视频观看国产| 亚州综合AⅤ| 蜜乳AV.COM| 久久精品国产99国产精品亚洲| 亚洲精品久久久久毛片A片拉屎| 91啪啪| 人人操人人摸超碰| 亚洲第一综合| 欧美性爱超碰97| 久热伊人| 人妻精品一区二区| 久久婷五月| 日韩有码中文字幕女同性恋| 丁香五月综合| 男人天堂2019| 婷婷月色| 国产精品久久久| 日韩性色b| 麻豆三极片| 久久成年精品| 亚洲欧洲日韩天堂av| 亚州 综合 色图| 夜夜天天噜狠狠爱2021| 久久久成人精品| 伊人色综合网电影| 精品人妻一区二区三区不卡断| 另类在线| 久久神马| 欧美一区二区在线资源| 中文字幕美女91| 99精品伊人| 久久性爱网站| 色97欧美| 久久久久久久一级黄色打同平台| 久久专区| 屌妞视频久久久久久久 | 亚洲综合在线第一页| 日韩在线AB| 亚洲图片日本AⅤ欧美在线| 精品久久九| 综合自拍| 久久久四区| 日本999精品视频| 国产不卡免费在线视频| 天天影视综合色| 天天综合网国产| 国产最火爆久久国产网站网站| 91操人| 婷婷亚洲综合| 国产婷婷综合在线观看| 中文字幕综合人妻| 亚洲欧洲综合视频在线| 激情小说亚洲| 亚洲91网站| 东京热免费视频| 在线a亚洲视频播放在线| 啊啊啊啊啊啊啊啊啊啊在线观看| 一区在线国产播放| 国内偷拍精品一区二区| 亚洲综合一| 丁香五月激情五月| 久久久久久久伊人精品| 超碰4A| 欧州激情视频在线一区二区| 日本高清一区二区在线| 欧美成人一级麻豆| 亚州欧美综合| 冬京热男人的天堂| 国产伦乱91| 成 人 A V免费视频在线观看| 亚州国产成人精品女人久久| 欧美久久九九| 亚洲国产高清福利视频| 中国一级αV| av2014 日韩在线中文字幕| 九九热五区| 五月综合视频| 久久东京伊人一本到鬼色| 久草资源在线| 久久↗↗| 亚洲精品骚逼| 玖玖视频在线资源一区二区三区| 国产网红精品| 偷拍 欧美 日韩| 精品夜夜澡人妻无码AV| 夜夜操一区二区| 欧美中文字幕男人天堂久久精品 | 国产女同视频在线播放| 国产传媒一区二区三区| 丰满人妻一区二区中文| 91色综合激情| 亚欧精品久久久久久久久久久| 全免费a敌肛交毛片免费| 亚洲欧美一区二区网址| 怡红院成人视频| 少妇久久久免费| 欧美 日韩 另类 亚洲| 9/A片| 婷婷综合五月天| 第一高清av中文字幕| 高清无码 国产精品| 香伊人在线| 中国一级αV| 97免费在线观看| 骚货操死你| 免费男人的天堂| 久久一区二区加油站| 国产白领连续中出在线播放| 宅男午夜在线视频| 日夜啪电影| 国产毛片精品一区二区色欲黄A片| 亚洲国产成人精品无码专区| 黄片国产精品一区二区| 国产精品爆乳懂色蜜乳| 亚洲97在线| 97色在线视频| 天天干嫩逼网| 久午视频| 欧美天天干| 91日韩国产欧美亚洲另类精盘州至城都| 91亚洲狠狠色| 欧美色图自拍| 亚洲在线观看| 日日骚av| 婷婷10月天青娱乐| 五月天婷婷社区| 女生看匆91网站| 日韩图色| 久九色| 久久国产成人精品国产成人亚洲| 欧美精品97| 家庭乱伦麻豆| 摸奶性爱视频网站在线免费播放| 国产午夜精品理论片一二三区区| 青娱乐国产剧情av一区| 中英熟女操女| 强奸乱伦免费网站| 国内亚洲精彩视频在线| 日韩亚洲中文字幕在线| 国产色精品午夜大片| 俺去俺来也在线www| 国产福利第一视频| av大香蕉| 久无码| 欧美另类自拍 | 成人无码专区精品视频| 操人妻逼91| 91 综合 色| 日韩欧美~中文字| 蜜臀AV一区二区三区| 啊啊嗯嗯好爽| 99re免费视频精品全部| 国产操操日韩三级黄| 久久精品99| 果冻传媒A片一二三区| 欧美第五页| 在线中文字幕视频| 欧美性爱精品七区| 亚洲国产ⅴ高清在线观看| 乳欲人妻办公室奶水| 92午夜免费福利视频| 色婷五月天| 日日骚 av| 另类老少妇| 中文字幕三四区| 国产亚洲日韩在线三区黑人| 无码伊人久久大杳蕉中文无码| 日日夜夜天天| 伊人一区二区三区| 久久男人| 无码操逼视频一下| 欧美刺激色黄片免费看| 操人妻丝袜高跟| 九一性生活免费视频| 美女啊啊啊啊啊| av无线看| 丁香五月天社区| 亚洲天堂人人妻| 伊人麻豆传媒| 在线一道啪| 97超级久久强资源| 欧美国产操逼|