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

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(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ù)庫拖垮。我見過太多項(xiàng)目在初期用 MySQL 的模糊匹配湊合等到商品表過了百萬行一個(gè)搜索請(qǐng)求能把 CPU 打滿頁面轉(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ù)庫模糊查詢的天花板在哪很多人對(duì)搜索的需求認(rèn)知是滯后的。項(xiàng)目初期一個(gè)SELECT * FROM products WHERE title LIKE %手機(jī)%就能滿足需求開發(fā)快、不用額外維護(hù)服務(wù)看起來很美。但這個(gè)方案有三個(gè)硬傷隨著數(shù)據(jù)增長會(huì)逐一暴露。第一是索引失效。前置通配符的LIKE查詢無法利用 B 樹索引MySQL 只能全表掃描。十萬行數(shù)據(jù)可能還能扛百萬行就是災(zāi)難一次查詢幾百毫秒到幾秒不等并發(fā)一上來直接雪崩。第二是相關(guān)性排序缺失。LIKE只能告訴你匹配到了沒法告訴你哪個(gè)更匹配。用戶搜無線藍(lán)牙耳機(jī)標(biāo)題里含耳機(jī)的商品全返回但哪個(gè)是用戶真正想要的數(shù)據(jù)庫給不出答案。第三是分詞能力為零。中文搜索里蘋果手機(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ù)庫的替代品而是搜索層的補(bǔ)充。它擅長的是查不擅長事務(wù)性寫。你的訂單、庫存、用戶余額這些強(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)是列表頁展示的字段盡量冗余進(jìn) ES比如商品標(biāo)題、價(jià)格、主圖、銷量這樣搜索列表一次 ES 查詢就能渲染不用回表。詳情頁再走 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ù)增長、搜索是否是核心功能而非邊緣需求、是否對(duì)搜索的相關(guān)性和響應(yīng)速度有明確要求。三條里中兩條以上就值得考慮。反過來說如果只是后臺(tái)管理里偶爾查一下或者數(shù)據(jù)量很小老老實(shí)實(shí)用數(shù)據(jù)庫加索引優(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è)坑客戶端庫版本必須和服務(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初始化客戶端的代碼長這樣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ù)值字段看似簡單其實(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 大概長這樣{ 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)簡單但實(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è)帶過濾、排序、分頁的完整查詢把用戶搜索場(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做分頁。這里有個(gè)性能陷阱深度分頁。from size超過一萬時(shí)ES 要在每個(gè)分片上取from size條再歸并內(nèi)存和 CPU 開銷急劇上升。ES 默認(rèn)max_result_window是 10000超過直接報(bào)錯(cuò)。解決辦法是用search_after游標(biāo)分頁或者限制用戶只能翻到前 N 頁。電商場(chǎng)景里用戶翻到第一百頁的概率極低限制頁數(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 慢常見原因是用了腳本查詢、深度分頁、或者 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ù)庫的簡單查詢雖然慢但能出結(jié)果。關(guān)鍵是別讓 ES 的故障把整個(gè)頁面拖死。超時(shí)設(shè)置也要合理客戶端默認(rèn)超時(shí)可能偏長搜索接口設(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ù)量增長或者慢查詢導(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 混用、深度分頁沒限制。這些問題在數(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
返回資訊列表
超碰人妻中文在线| 成人aⅴ一区二区三区| 精品欧美不卡在线播放| 日本性感人妻91| 又黄又粗又硬又长又大| 芊芊操逼视频无码| 91内射| 人妻夜夜爽天天爽麻豆三区网站| 一个国产在线综合网站| 天堂伊人久久| 天天插天天射| 日日操免费视频| 精品久久大胆人体| 欧美国产日韩清纯唯美| 天天爽夜夜爽夜夜爽精| 亚洲成成熟女人综合一区二区| 人妻激情另类| 亚洲性爱免费电影| 97久久精品| 亚洲素人综合| 麻豆一区二区三区精品| 日本黄 R色 成 人网站| 丰满人妻一区二区三区性色| 看免费一级在线播放毛片| 午夜精品久久久久久久99| 狠狠爱综合| 啪啪视频免费在线观看| 精品无码一区二区人妻久久蜜桃| 五月天婷婷小说| 日韩三级天堂在线观看| 91久久青青草原精品| 亚洲熟女一区| 另类图片五月天| 亚洲美欧999| 欧美少妇性爱网站| 国产精品不卡av免费在线观看| 天天大干大香蕉| 97欧美精品综合| 亚洲人妻av| a天堂视频| 亚洲情欲| 精品人妻一区二区三区蜜桃视频| 男女性扦B| 老女人碰碰在线碰碰视频| 久久久99久9| 亚洲图片偷拍视频区| 91高潮| 骚妻少妇精品性色无码四色A V| jiujiujiujingpin| 亚洲鸥美色图| 国产农村妇女精品一| 欧美亚洲丝袜美女电影| 一区二区播放| 夜夜爽夜夜爽| 国产AV精久久| 狠狠色色| 久久久111| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 大香蕉碰碰| 亚洲高清无毛一区二区| 高清无码一区二区三区| 亚洲熟女中文字幕在线| 色鬼在线综合| 天天日天天干天天摸天天操| 亚洲激情欧美色图 | 熟女色综合久久| 偷看洗澡一二三区美女| 91美女视屏| 蜜桃久久精品一区二区三区| 欧美亚洲手机在线| 特污精品女优骚货黄色视频在线免费观看| 日韩三级伊人| 日本高清一区二区在线| 久久久九九网站| 91美女中出| 和协影院中文字幕三区| 999色欧美中文字幕| 午夜精品久久久久久久第一页按摩| 五月天亚洲色图| 欧美性爱中文字幕无线码| 大香蕉久操| 亚洲一本色码中文字幕| 蜜臀Av一区二区三区| 91在线一起| 亚州熟女乱伦| 天美国产三级传媒| 亚州熟妇精品| 91天天| 日韩一性一交一A片俄罗斯| 国产精品点击进入在线影院| 久久久不能久久久久| 欧美永久激情一区二区| 日韩欧美性吧婷婷乱伦大香蕉| 国产成人自拍视频视频| 超碰 另类 欧美 | 欧美性暴力| 亚洲 暴爽 AV人人爽日日碰| 国产又粗又长又爽又色| 天天91~综合入口| 91久久久久| 成人26uuu| 一区二区三区精品视频| 精品视频久久区| 无码区蜜乳| 深夜激情无码| 国产久久一区二区| 亚洲精品毛片在线观看| 欧美色图天堂网m| 欧美精品三区| 国产SV一线| 日本一区二区中文字幕久久| 久久久爆乳翘臀一线天伦理视频| 97在线公开视频| 国产日本一区二区三区蜜臀在线观看| 亚洲色色探花| 综合网少妇| 18禁超污无遮挡无码免费网| 91欧美丝袜| 亚洲一曲日韩精品| 国产精品午夜成人福利| 少妇贴图| 99色视频| 亚洲色图日韩丝袜制服一区二区五月在线| 性爱av在线免费观看| 麻豆一区在线| 婷婷五月天av| 日本熟女不卡视频| 国桃视频产巨乳精品一区二区在线| 久久久久亚洲熟妇熟女| 亚洲淫色网中文| 免费看国产曰批40分钟怎么下载| 蘋果手機免費看成人Av| 九九综合久久| 2017天天拍大香蕉| 精品乱码久久久久| 国产又大又硬又长又粗| #NAME?| 激情久久久| 91美女国产在线| 日韩欧美经典在线观看| 欧美天天射| 亚洲日韩肥臀视频在线观看| 欧成人精品一区二区三区| 精品久热| 亚洲图片激情综合另类| 黑白配性爱AV成| 色婷婷视频| 精品人妻av区天天看片| 操B久久| 婷婷丁香五月天综合东京热| 精品亚洲天堂| 亚洲激情色片 | 91中文字幕在线观看| 99热啪啪| 91精品久久久久五月天精品| 久久人妻少妇| 美女黄色一级A视频| 用力操死我| 亚洲在线a| 欧美色图偷拍另类| 欧美精品成人亚洲| 懂色AV蜜臀无码精品APP | 夜夜爽夜夜高潮夜夜爽| 水野优香在线观看| 麻豆国产96在线| 欧美一区二区福利在线| 色性欧美| 97人妻碰碰中文无码久热丝袜| 97香蕉网| www.狠狠干.coom | 97超碰站| 欧美大香蕉久| 国产又色又粗又黄又爽| 久久男人的天堂| 久久精品国产97欧美精品亚洲| 69丨亚洲丨精品丨入口免费播放| 一本一道久久综合久久| 亚州高清av| 78操B| 国产91 丝袜在线播放| 神马久久免费电影观看| 男人的亚洲天堂| 天堂伊人久久| 男人的天堂2000| 丝袜亚洲91| 久久东京热久久| 久久在线观看免费视频| 999岛国大片| 诱惑网综合| 国产尤物在线三区| 久久黄黄黄| 亚洲色交| 亚洲无码AV九九九| 成人精品在线| 欧美中字不卡| 91深夜夜| 亚洲男人天堂网久久| 亚洲精品欧美专业| 午夜经典| 亚洲av综合色| 欧美夜夜狠| 国产女同性恋视频| 激情黄色五月天| 五月天AV资源| 久操网视频| 后入美女国产| 一二三四区电影| 久久性爱精品一区| 青久操| 清纯唯美亚洲另类| 双插性欧美一二三区| 美女AV一区二区| 放黄片放3级黄片没穿衣服| 大香蕉五月天婷婷| 久久九精品| 日本东京热加勒比久久| 加勒比五月天| 亚洲春色欧美激情自拍| 中文字幕版| 日本孕妇一区二区视频操逼免费看 | 97伊人超碰| 国产黄色av大片网站| 亚洲清纯唯美| 老熟女搡BBBB搡BBBB视频| 精品国产网站| 亚洲学生妹高清av| 中文字幕大片三级狠狠干| 亚洲九九视频| 人妻少妇av在线观看| 欧美熟女妇同| 欧美经典一区二区三区| 日韩精品大香蕉伊人在线| 91干熟女| 无遮挡一级毛片视频免费的| 91色爽欧美| 另类天堂| 久操在97| 一本色道综合久久欧美日韩精品| 看一级黄色视频| 99色热| 嗯嗯啊在线视频| 一级性爱视频免费在线| 都市激情人妻一区二区青青操视频| 老熟妇一区二区三区…| juliaann欧美丝袜办公室| 最新av在线| 凸凹视频在线观看| 日韩小电影| 二对二中文字幕。| 啊啊啊啊啊啊在线看| 亚洲色图尤物视频| 欧美高清91| 天天色怡春院| 中文字幕在线24| 自怕偷自怕亚洲精品| 婷婷人妻激情| 欧美婷婷久久| 欧美日韩一干二干| 91原创在线观看| 亚洲操操操| 欧亚性爱啪啪| 曰韩操B| 国产成人91一区二区三区| 欧美熟妇亚洲版| 情色日播放AV| 国产免费一区在线观看| 亚洲无码国产探花在线观看| 麻豆三极片| 91精品导航| 国产兽交视频在线播放| 啊啊啊好舒服视频在线观看| 先锋音影AV| 加勒比av中文| 欧美综合777| 91亚洲丝袜| 日韩啪啪啪视频| 人妻夜夜爽天天爽麻豆三区网站| 成人无码专区精品视频| 67914亚洲精品| 日韩欧美亚洲国产日韩| 欧美激情欧美精品| 9精品久久| 激情视频一二三| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 午夜黄色免费在线观看| 亚洲精品一区二区精华| 日本高清视频xxxx| 人妻一区二区三区视频 | 国产偷仑| 久久精品区| 亚洲精品电影| 中日亚韩免费视频| 日韩天美| 亚洲色香| 熟妇一区,二区,三区。| 日日躁夜夜躁狠狠躁超爽| 人妻夜夜爽天天爽三区麻豆AV网站| 欧美精品二区视频在线| 国内三级自拍小视频在线观看 | 囯产精品久久久久久久久久梁医生 | 热热色AV| 成人av在线播放| 干干干天天| 久妇网| 91久久久老司机| 在线不欧美| 乱伦一区二区三区‘| 囯产乱伦一区二区三女| 丝袜综合| 夫妻日逼| 五月天啪啪| 久久亚洲色图中文字幕| 婷婷av在线中文字幕| 手机看av网站在线看| 蜜桃臀av在线观看| 综合网少妇| 草草网站影院白丝内射| 日韩欧美女优电影| 人伦四五区| 国产懂色精品国产av| 亚洲色图 综合| 精品国产91av一区二区三区 | 亚洲涩图欧美| 老司机午夜精品视频| 熟妇熟女视频一区二区三区| 一级免费精品| 爱射综合| 亚洲一区二区三区久久 亚洲一区二区| 欧美亚洲一级在线观看| 精品人体无圣光凹凸| 国产精品香蕉热久久新品| 丁香五月天社区| 国内精品999| 97亚洲色图| 欧美九九爱| 色图四区| 九九九久千久久激情蜜桃在线看 | 欧美不卡在线美女| 99色| 台湾一区国产高清在线| 97人肏| 天天色播亚洲综合网站| 一本大道青青| 久久精品亚洲东京热色播| 日本阿v天堂在线观看| 日日夜夜干| 少妇久久久久久久久| 大鸡巴久久久| 亚洲激情综合另类男同| 中文字幕在线第二页| 日韩无码成人电影| 国产午夜在线观看视频| 国产免费一区| 激情图片亚洲色图| 开心五月婷婷激情| 新久久AV| 91精品网站| 精品国产99| 人看人人摸人人操| 日韩免费一级性爱视频| 精品一区二区久久| 日韩二级| 久久久工口| 超碰碰碰碰| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 亚州欧美在线| 亚洲欧美另类少妇精品| 久热69九色熟妇97| 国产精品无码久久久久2025| 精品无码欧美三级| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 欧美专利1区2区3区4区5区免费| 天天夜躁日日躁狠狠2002| 欧美 色 亚洲| 综合九九| 久久久久久久| 成人久久精品| 六月丁操逼| 久久久草成人网站久久久草成人久久久草久久久 | 久久女人一区二区三区| 99自拍视频在线观看| 国产性爱乱伦AV| 人妻一二三区| 乱伦a片视频| 大香焦A片| 日韩亚洲精品一区二区| 少妇人妻好深太紧了vr91| 明星性猛交ⅹxxx乱大交| 亚洲熟妇A V黑人| 台湾佬大香蕉| 一区二区中文| 国产精品嫩草影院午夜两性| 色欲av一区二区三区蜜芽| 极品销魂美女一区二区| A级国产欧美激情在线| 操逼操逼操| 91人妻人人澡人人爽人人精品| 粉嫩av在线| 草草电影院| 在线中文字幕| 亚洲天堂久久| 男人的天堂激情| 一区麻豆 高清中文字幕| 人妻夜夜爽天天爽麻豆三区网站 | 免费A片三p视频| 日韩av电影成人在线| 丰满人妻一区二区三区性色| www.91理论| 久久欧美性爱视频| 欧美另类色| 色五月第四色| 亚洲玖玖爱| 午夜性刺激视频免费观看| 性久久久| 婷婷五月综合激情| 日本久久综合| 欧美碰碰综合色| 粉嫩av平台| 91成人精品在线播放| 色婷婷狠狠18禁| 宅男91视频在线播放| 磁力99AV| 欧美 亚洲 第一页 | 天天看人人操屄犊摸阴| 天天干夜夜操一区二区| 国产呦精品系列在线观看| 成人无码在线超碰网| 白嫩国模丰满一二三区| 躁躁日曰躁2020| 国产美女91| 2024黄色视频| 五月天色图| 性色av一区二区| 久久久久久久久久久久97| a片 xxxx受爽视频| 亚洲精品中文字幕一区在线视频 | 天躁夜夜躁2021| 精品人妻1区| 色五月婷婷网| 97欧美色| 极品尤物自安慰| 午夜男人天堂| 91日产桃蜜| 国产A v无码专区| 亚洲男人天堂2012| 日韩无码一区二区三区| 99热伊人| 久久久久深夜无码| 亚洲一卡2卡3卡4卡乱码网站| 区日韩亚洲乱码av电影| 婷婷10月天青娱乐| 蜜桃av综合网发布| 亚州大图综合色图| 黄色av网站在线播放| 日韩97超碰中文字幕| 欧美综合色综合| 一类av片在线看| 久久精品老司| 精品无码久久久久久国产浪潮| 超AV色女| 美女裸体无遮挡永久免费观看网站| a在线视频免费观看| 日本孕妇孕交| 97人妻免费中文字幕| 涩爱AV在线| 欧洲特黄毛片免费看欧洲毛片| 91久操| 99日视频在线免费| 亚洲成?V人片在线观看福利| 免看60秒涩涩视频| 亚洲啪啪性视频| 国内成人圈中文字幕无码视频| 亚洲导航深夜福利| 东北操逼| 日韩性爱高清免费视频| 久久久111| 五月天色图影视| 狠狠入| 大香蕉久操| 91欧美www| 口爆综合网| 欧美 亚洲 在线| 最新加勒比丝袜在线| 99热在线观看| 亚洲天堂美臀在线| 色色色色综合网| 欧美九九九九九| 天美av在线观看| 99久久久无码国产精品性啊聊| 91N五十路| 一级做a爰片久久毛片图片| 蜜桃久久久久久久久久久久| 欧美亚洲日本视频久久久| 欧美一品道| av九九| 国产又黄又爽| 久久久久元码视频| 激情久久久| 色视频蜜乳| 99热99re6国产在线播放| 大香蕉人妻| 欧美激情激情xxxx欧美专区| 99蜜桃臀亚洲成人在线观看| 欧亚性爱视频免费看| 农村少妇久久久久久久| 大吊色| 国产激情在线观看| 日本人妻丰满熟妇久久久久久| 欧美熟女丝袜| 久久人妻四季| 美国一区二区免费视频| 日本欧美中文字幕| 麻豆色约约| 欧亚不卡| 女优视频第10页| 综合五月婷婷亚洲一区| 超碰在线一区二区三区| 久噜噜| 日韩女优在线| 五月丁香综合激情| 福利社区午夜一区二区| 超碰免费人妻在线| 欧美人妻一区二区| 国产女人9999| 国产一区麻豆免费观看| 香蕉久久国产AV一区二区| 99视频这有这里有精品| 欧美综合第一页| 精品9999| 亚洲色图国产另类| 爱欲AV| 亚洲日韩美女中文字幕乱| 丰满翘臀美女影院视频| 在线看免费无码AV天堂的| 日语五十路和六十路亚洲国产精品| 久久精品中文字幕女同| 久草资源在线视频官方总站日韩丝袜美腿 | se..亚洲欧美| 欧美亚州综合网图片| 九九热在线精品视频| 人妻少妇蜜桃视频欧美一区| 成人黑料社久久| 国产理论视频在线播放| 国产AV色黄看到爽| 国产一区二区免费福利片| 日夜伊人网| 天天天干977| 五月天精品| 亚洲色天堂九9| 亚洲宗合网| 国产精品久久久九九九| 亚洲精品国产av天美传媒| 久九九九九九九热| 欧美精品在线观看| 一区二区三区 丝袜 高跟 美腿| 大屁股xxxxx| 欧美日韩香蕉| 国产树林里野战在线看| 2019天天干天天操| 久久首页| 亚洲中文字幕一区| 亚洲AV不卡在线观看尤物| 亚洲情色1区| 亚欧美天堂在线| 国产婷婷一区| 91爱看| 亚洲综合情色| 久久激情视频| 人妻欧美| 呦呦影院| 99精品久久久久久久婷婷| 久草视频在线视频在线视频在线观看| 日本人人操人人操| 思思热在线视频精品| 夜色五月天| 国产suv精品一区二区四区999| 欧美狠狠操| 少妇内射www在线观看视频 | 国产成人自拍视频视频| 久久久久国产精品喷潮免费观看臀 | 国产激情在线| 日韩AV电影网站| 97超碰色屌| 综合激情一一91| 国产精品伦理| 超碰日韩人妻| 日韩性爱视频免费在线| 婷婷四五区| 四虎视频在线观看| 91综合天天看| 黄片视频观看| 久久99人妖视频国产| 人妻天堂综合网| 日韩 成人 有码| 一卡二卡在线播放| 欧美一区二区一级岛国大片| 精品黑人一区二区| 嗯……啊…嗯嗯…啊…好舒服| 久久精品人妻一区二区| 91欧美网| 亚洲αv一区二区三区| 天天爽天天| 久久99草| 91天天| 综合久久欧美| 久久久久密臀一区二区| 精品人妻久久久久一区二区三区| 国产精品一区二区手机看片| 偷看洗澡一二三区美女| 国产黄色动态精品| 色综合91好| 久久亚洲AV无码专区首页| 992这里有精品| 97久久国产亚洲精品超碰热| 国语对白露脸XXXXXX| 成人性爱电影网| 素颜老阿姨乱情色| 亚洲麻豆av一区二区| 国产版a级片直播在线| 久草新免费| 射综合网| 开心五月激情网| 日本中文字幕一区| 自拍偷拍草一草| 天美av在线观看| 日韩99999| 大地资源在线观看中文第二页| 青青草啪啪网| 桃花色综合影院| 内射白嫩美女| 91欧美亚洲| 天天插天天射| 99少妇| 影音先锋国产精品| 怡红院亚洲怡春院av| 日韩性爱1级片视频| 国产白领连续中出在线观看| 97久久国产| 欧美激情综合色综合啪啪五月| 91插B网站| 国产一级黄色片在线观看| 九九九精品一区二区无码| 日韩欧美午夜一区二区| 美女裸体麻豆天美蜜桃91| 91精品国产91久久青草| 色av中文字| 大学生美女口爆| 大香蕉AV丝袜| 欧美人与动性人交a| 国产精品小视频一区二区三区| 欧美加勒比| 鲁鲁色综合网| 人人爱人人乐人人操| 亚洲天堂东京热| 一中国女人毛片水真多| 久久中文色图| 黄色AAAAA欧美| 劲爆欧美人妖三区91| 高清无码 国产精品| 91美女視頻| 婷婷伊人网| 另类图片天天影视| 中文字幕乱码人妻一区二区三区,99精品| 国产粉嫩蜜臀av一区二区三区| 免费人人搞97| 女人喷水视频在线观看| 日韩内| 伊人影院在线理论播放 | 九色 人妻 大香蕉| 乱伦色图网址是多少| 校园春色综合香蕉| 99操逼| 大香蕉伊人网| AV中文字幕剧情1区2区3| 国产AV超爽| 色图综合网| 欧洲亚洲天堂精品| 婷婷丁香六月天| a片偷拍视频| 亚洲骚男同com| 国产精品天美传媒| 亚洲欧洲精品视频发布| 友优传媒精品在线一区二区| 日本伦理一区二区| 精品在线观看视频在线| 校园春色五月天| 蘋果手機免費看成人Av| 欧洲色| 国产亚洲精品美女久久久久久2021| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 精品无码一区二区三区色欲| 99re在线视频| 青青青国产| 日本色色色视频| 九九无码| 97精品一区| 91久久18禁| 五月丁香婷婷综合| 国产99精品一区二区三区免费| 91N综合网| 国产精品suv一区| 91爽啪| 亚洲av无线观看| 日本伦乱九九九综合| 爱丝福利| 偷拍综合亚洲| 97激情97激情| 欧苏综合色综合| 亚洲精品无码少妇久久| 99久久精品无码一区二区毛片免费| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 中文字幕制服欧美久久一区| 99综合网| 日韩成人大片在线观看| 一区二区三区视频国产免费| 欧美少妇色图| 97亚洲色图| 骚熟女AV网| 亚洲高清男人天堂| 日本精品性生活久久久| 久久这里精品国产99丫e6| 亚洲无码色| 综合色啪| 亚洲第一在线视频| 久久精品国产72国产精品福利| 欧美91视频| 日韩中文字幕视频| 无码免费在线观看黄色片| dy888午夜老子影视达达兔| 日韩无码第3页| 亚洲图片视频小说| 久久久免费高清中文视频| 制服丝袜第二页| 97精品中文字幕| 国产精品久久久久久久久久久久久久久久 | 超硑97精品| 中文97国产| 人人澡综合涩| 久操在97| 精彩久久中文| 久久精品一区一起草| 狠狠干妹子| 天天日骚逼熟女| 日韩欧美三级| 亚洲无码一区成人免费午夜| 在线洲亚线| 综合亚洲欧美| 校园春色 欧美| 综合网天天| 国产无码精品成人| 嫩草在线视频| 少妇高潮特黄A片| 97欧美性爱| 久久婷综合| 蜜臀av在线播放一区二区三区| 伊人五月天| 中文字幕丝袜美腿| 试看福利| 性高潮久久久久久久久久久| 欧美日韩另类激情图片| 日本操逼无码| 五月丁香拍拍激情综合三级| 国产精品久久成人免费| 精品人妻伦一二三区久久| 久久亚洲影院一区二区| 久久亚洲不卡一区二区三区| 亚洲熟女一区| 漂亮人妻被强中文字幕hd| 99av| 中文字幕一区二区日韩网| 唐山老熟妇露脸啪啪叫| 99精品在线播放| 欧美精品丝袜久久久中文字幕| 午夜毛片高清免费不卡| 久久久天堂| 亚洲性爱成人| 日韩精品一区二区三区色欲| 男人的天堂2018东京热啪啪啪| 91夜夜蜜桃臀1区2区3区| 亚州欧美综合| 男女日B国产| 在线国产探花| 亚洲av热热色| 色图四区| 亚洲一欧洲中文字幕在线| 性爱久久| 60秒免费视频| 中文操逼字幕| 国产高潮AA片免费看| 97玖玖人妻| 色天天野狼综合社区| 亚洲精品自拍| 97色婷婷| WWW美腿丝袜香蕉中文| 蜜臀久久99精品久久久久久无删减 | 日韩av不卡在线看| 欧美一区91大爱| 五十路成人在线视频二区三区| 欧美性爱综合,免费| 十八禁啪啦拍视频无遮挡| 国产农村妇女精品1区二区| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 天天舔九色婷婷| 性色aV一区二区三区噜噜| 色官网色综合| 亚洲永久永久永久永久一级一级一级精品 | 2017天天操天天日| 八人操人人摸人人看| 九九九九九九九九九九九免费国产| 国产精品69久久久久久久| 成人av在线播放| 江都AV在线| 久久久久久加勒比| 日韩精品一区二区三区色欲| 久久一二三四五六七八九区区| 亚洲人成在线放东京热| 久久大香蕉手机高清| 综合另类| 婷婷久久久| 亚洲欧洲久久天堂| 久久九九精品一区二区 | 能看的AV| 97超碰影音| 美女国产一区二区久久| 欧日韩在线观看| 亚洲激情综合另类男同| 中文字日本乱码| 欧美亚洲自拍另类人妻| 超碰亚洲欧美日韩无| JuliaAnn丝袜熟女系列| 99超级碰免费视频| 大鸡巴久久| 日本欧美成人片AAAA| 老熟女阿 国产91| 日本久久天堂| 少妇淫妇久久久久久久| 97福利视频| 99热婷婷一区二区三| 五月天色图| 超碰2017| 日本少妇va7777| www.亚洲黄色| 亚洲成人妻日韩在线| 色黄色美女大长腿午夜视频| 殴洲老熟女| 乱伦3P视频| 国产9熟妇视频网站| 99热| 精品国模无码| 91性| 婷婷五月天成人网| 91视频综合网| 亚洲区限制级| 人人插人人搞人人操| 97碰碰色| 欧美在线啊啊啊 | 久久久久极品| 久久精彩免费视频| 午夜小电影在线插入淫高潮| 欧美日韩电影一区二区| 久久九九视频九九视频| 久久久性少妇| 青青草自拍视频在线播放| 久久双插| 情色五月天就去干| 伊人影院中文字幕| 影视综合无码少妇| 欧美日韩不卡传媒| 麻豆乱码久久精| 日本Xx性爱| 资源新线在线天堂| 97色涩| 成人AV在线电影| 一区二区三区免费视频入口| 久久大精品乱码视频人妻熟女| 国产无套粉嫩白浆在| 欧美精品三区| 人人九九精| 啊嗯好大视频在线观看| 亚洲精美粉嫩嫩泬在线观看| 日韩大香蕉AV影片| 婷婷香网站| 91色情黑丝搞鸡在线观看一区二区三区三州| 99色网| 人人摸人人舔一区二区| 久久国产精品91| 亚洲成人美女无吗| 蜜臀一区二区三区在线| 国产后入清纯| 天天综合有色网| 激情五月天视频| 99老司机精品视频在线观看| 色图四区| 2020中文字幕在线| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 国产亚洲色婷婷99精品91| 91超级碰| 欧美91在线+|+欧美| 色成人Www精品永久观看| 国产污视频麻豆传媒一区二区| 中文字幕人妻资源在线| 欧美日韩人妻婷婷一区| 超碰亚洲97| 国产综合永久精品日韩鬼片| 亚洲无992tv| 亚洲男人天堂网站| 日日干夜夜骑| 精品999日本| AV一二区| 97爱爱爱综合| 国产 日韩 欧美 人妻 熟女 中文| 美女写真| 人人操人人插人人摸人人干| 97精品久久| 伊人麻豆传媒| 日本大香蕉综合网红本杳社区| 91无摭挡| 人妻激情在线视频| 超碰538| 97 国产一区| 中文字幕在线观看网页| 久久精精区一区二区一蜜桃一区二区| 亚洲欧美中文日韩视频中国语| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 夜夜嗨一区二区| 婷婷激情五月| 色婷婷久久| 国产激情视频在线观看| 日韩精品在线观看网站| 免费伦费视频在线观看| 国产精品爽爽v| 高清国产成人无码| 一本大道不卡一二三区| 人人 操人人 操人人| 日韩高清黄片| 久草视频观看视频在线| 在线综合 亚洲 欧美中文字幕| 99亚洲精品| 欧 美 自 拍 偷 拍| 性爱视频啪啪啪啪| 日韩亚洲中文字幕在线| 国产区91柔拿会所技师| 亚洲欧美在线观看2021| 成人免费在线网站| 人人扣人人操| 亚洲av在线免费观看| 色嘟嘟人妻天堂网| 国产av青草| 日韩噜噜69| 日本一级不卡一二区| 91天天爽| 精品九九| 日韩欧美成人性爱在线| 日本一区二区不卡精品| 亚洲黄网在哪免费看| 日本片日本片祼观看网站在线看中文版网页在线看 | 亚洲成人免费中文字幕| 国产69精品久久久久99尤物| 国产精选三级在线观看| 狠狠色丁香| 青娱乐 成人娱乐在线| 九X超碰| 果冻传媒A片一二三区 | 色爽爽文学| 久久久久久久久久久久黄色 | 伊人久久AV诱惑悠悠| 97超碰人人操人人操| 人妻啪| 国产一区二区三区高清视频| 人人人摸人人| 亚洲一区二区三区四区视频| 婷婷五月天基地| 精品九九九九九九九| 97jingpin| 人妻久久一区二区三区 | 欧美一级AAAAAAA| 日本视频一区二区三区| 99视频只有精品| 91久久18禁| 91久久婷婷| 7777奇米影视久久| 99久久9| 男人天堂日日夜夜| 视频二区美腿制服人妻欧美| 国产在线综合福利网站| 亚洲性爱无码乱伦av| www四虎| 久久国产精品视频| 九九视频黄色片| 丁香五月婷婷色| 神马久久69| 亚洲婷婷丁香在线| 亚洲日本韩国在线| 欧美亚洲日韩16色| 久久少妇| 韩国一级婬片A片AAAAA| 麻豆久久久久久久久丝袜 | 夜夜免费视频| 日韩免费在线观看不卡| 五月色网| 欧美天堂亚洲电影院一区在线播放| 亚洲中文字幕一区二区| 日本东京热加勒比久久| 天天淫人人妻日日色| 日韩干B| 国产人妖的免费的视频| 婷婷香蕉欧美在线一区二区三区| 东方亚洲在线操逼天堂| 四虎国产精品永久在线囯在线| 91性高潮久久久久久久久| 熟女一区二区三区| 欧美性爽xyxOOOO| 天天综合网~69| 97人人夜| 色官网在线| av 模特一区了| 黄片视频,下载| 色鬼在线综合| 曰韩中文人妻视频| 欧美|91色综合| 天美传媒AV在线| 五月天色综合| 97欧美资源| 婷婷五月天影院| 久久精品日韩专区免费观看| 樱花蜜乳av| 欧美一区二区成人一卡| 蜜乳成人AV| 久久做97| 国内毛片无遮挡国产| 国产农村妇女精品一| 欧美一区二区三区不卡高清视频| 日韩人妻精品久久久久| 四虎影视欧美| 人人色97| 欧美第一页| 国内黄色精品| 老子午夜伦不卡影院| 97色97好| 777AV电影| 精吧天堂| 最新日韩黄片| 欧美制服网站美腿丝袜| 99久久久久久亚洲精品不卡| 成人欧美一区二区三区黑人一| 香港久久久| 男人兔费天堂| 欧美日韩97| 99999精品视频| 欧美在线永久天堂| 久久精品老司| 99精品视频在线观看免费| 亚洲熟女乱色一区二区三区久久久 | 精品免费一区| 东北老女人的激情视频| 强奸乱伦AV网站| 久肏视频字幕| 男人天堂2019亚洲| 国产欧美在线观看免费观看| 欧美国产视频| 日韩人妻中文视频| 国产乱码久久久| 看看小穴| 噜噜噜在线视频| 亚洲做性| 欧美少妇一区二区三区| 巨爆乳一区二区爆乳区| 久草毛片| 丝袜狠狠草尤物人妻av91| 日韩中文字幕国产| 激情文学亚洲| 青青青国产| 五月天丁香婷婷综合网站| 91丰满| 久久綜合很很很| 国模精品娜娜一二三区 | 蜜桃视频一区二区三区在线观看| 欧美日韩国产三级黄色| 久久久999国产| 欧美久久久15P| 久久久网站| 欧美日韩另类在线播放| 日日嗷| 亚洲自拍另类丝袜综合| 日韩精品中文字幕二区| 青娱乐淫乱1314| 超碰在线在公开超碰在线在公开| 欧美夜夜狠| 家庭乱伦网站国产| 亚洲av噜噜噜噜噜噜| 99re6在线视频精品免费完整版安卓版| 中文字幕啊啊啊在线观看视频| 国产毛片在线| 亚洲欧美综合| 亚洲九九视频| 欧美少妇高潮久久91| 久久精品一区二区三区不卡| 做爱A级亚欧| 久久综合九色综合欧洲98| 人人妻人人色一区二区三区| 色哟哟-国产专区| 国产成人综合网| 99在线无码精品秘 入口黑人| 97亚洲欧美| 女人香蕉久久毛毛片精品| 在线亚洲精品久久久| 中文字暮97| www.色婷婷| 婷婷中文网| 精品视频免费在线一区| 翔田千里AV无码秘 三区| 天天影视综合色| 少妇丝袜在线观看AV| 欧美成人精品一区二区三区| 亚洲欧美经典一区二区| 国产精品麻豆视频网站| TS人妖另类精品视频系列| 东京热av影院| 精品丰满熟妇人妻一区| 欧美日韩另类字幕中文| 欧美亚洲第1页| 国产日本熟女顶级一区二区三区视频 | 另类小说综合网| 99热精品在线观看| 久久91精品国产9丨久久分亭| 国产精品人妻无码久久久互動交流 | 中文久久久| 东北女人高潮视频| 国产丁香精品露脸视频| 久久久一区二区| 自拍亚洲综合| 裸体1区| 精品性爱久久视频| 日本东京热大香蕉a片| 久久久久久性爱视频| 精品久久久av| 色综合中文字幕不卡| 欧美熟女少妇| 97超碰色五月| 亚洲情色五月天| 69人妻人人揉人人躁人人精品| 亚洲天堂区| 91狠婷| 啊啊啊啊啊在线观看网址 | 超碰碰激情97+久| 日日日骚女人精品| 极品色电影院| 91网站在线播放| 欧洲一区二区| 欧美亚洲首页| 欧美色狠| 精品高清av中文字幕| 操www| 男人高清无码一区二区| 日本一区二区三区四区免费观看| 人干人人人操人人摸| 久久鲁干| 五月天激情综合网| 久久久99久9| 欧美亚洲厕所精品偷拍91|