久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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è)搜索請求能把 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í)場景翻車的開發(fā)者下面這些內(nèi)容應(yīng)該都能對上你的痛點(diǎn)。1. 先想清楚PHP 項(xiàng)目為什么需要 ElasticSearch1.1 數(shù)據(jù)庫模糊查詢的天花板在哪很多人對搜索的需求認(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)性評分BM25 算法能按匹配度排序它支持中文分詞器能把句子拆成有意義的詞。這就是為什么搜索場景幾乎成了 ES 的標(biāo)配戰(zhàn)場。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ā)起搜索請求時(shí)PHP 直接查 ES 拿到文檔 ID 列表再按需回表查 MySQL 補(bǔ)全詳情或者干脆把展示所需字段全冗余進(jìn) ES一次查詢搞定。前者數(shù)據(jù)一致性好但多一次查詢后者性能高但有冗余維護(hù)成本。選哪種取決于你的業(yè)務(wù)對實(shí)時(shí)性和字段變更頻率的要求。我個(gè)人的經(jīng)驗(yàn)是列表頁展示的字段盡量冗余進(jìn) ES比如商品標(biāo)題、價(jià)格、主圖、銷量這樣搜索列表一次 ES 查詢就能渲染不用回表。詳情頁再走 MySQL。這個(gè)折中方案在大多數(shù)電商、內(nèi)容類項(xiàng)目里都夠用。1.3 什么規(guī)模才值得引入不是所有項(xiàng)目都該上 ES。一個(gè)日活幾百、數(shù)據(jù)量幾萬的小站引入 ES 帶來的運(yùn)維成本可能超過收益。判斷標(biāo)準(zhǔn)可以看這幾條單表數(shù)據(jù)量是否超過五十萬且持續(xù)增長、搜索是否是核心功能而非邊緣需求、是否對搜索的相關(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è)怎么對接2.1 ES 服務(wù)的部署與版本選擇ES 的版本選擇有個(gè)坑客戶端庫版本必須和服務(wù)端大版本對齊。PHP 官方客戶端elasticsearch-php的 7.x 只能連 7.x 的 ES8.x 連 8.x跨大版本基本連不上或者行為詭異。所以第一步是先定 ES 版本再裝對應(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)證返回一段帶版本號的 JSON 就說明活了。注意 ES 7 之后默認(rèn)開啟了安全認(rèn)證如果返回 401說明需要用戶名密碼開發(fā)環(huán)境可以在配置里關(guān)掉安全模塊生產(chǎn)環(huán)境則必須配好證書和賬號。2.2 PHP 客戶端的安裝與初始化用 Composer 裝客戶端版本號要和 ES 對齊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請求過多或者連接超時(shí)客戶端自動(dòng)重試能擋掉一部分瞬時(shí)抖動(dòng)。但重試次數(shù)別設(shè)太大否則一個(gè)慢請求會(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ù)不要每次請求都 new 一個(gè)。ClientBuilder 的構(gòu)建過程有一定開銷頻繁創(chuàng)建會(huì)拖慢響應(yīng)。2.3 中文分詞的現(xiàn)實(shí)選擇中文搜索繞不開分詞器。ES 自帶的 standard 分詞器對中文是按單字切的蘋果手機(jī)會(huì)被切成蘋果手機(jī)搜索手機(jī)能匹配上但相關(guān)性很差而且索引體積膨脹。實(shí)際項(xiàng)目里通常裝 IK 分詞器插件它提供ik_smart粗粒度和ik_max_word細(xì)粒度兩種模式。安裝方式是在 ES 的 plugins 目錄下解壓對應(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ū)別這是新手最容易搞混的一對類型也是索引設(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ǔ)翻倍但對關(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 對布爾值的解析比較寬松true、1、1 都能識別成 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主流有三種做法各有適用場景。雙寫業(yè)務(wù)代碼里寫完 MySQL 緊接著寫 ES。優(yōu)點(diǎn)是實(shí)時(shí)性最好缺點(diǎn)是代碼侵入強(qiáng)而且一旦 ES 掛了或者寫失敗數(shù)據(jù)就不一致了需要補(bǔ)償機(jī)制。適合對實(shí)時(shí)性要求極高且能接受復(fù)雜補(bǔ)償邏輯的場景。異步隊(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ù)變更不頻繁或者對實(shí)時(shí)性要求不高的場景。增量同步通??縰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如果是秒級精度同一秒內(nèi)多條更新可能因?yàn)橛螛?biāo)推進(jìn)而漏掉。解決辦法是用配合去重或者把游標(biāo)精確到毫秒。第二刪除的數(shù)據(jù)同步不到。物理刪除后 MySQL 里沒記錄了增量掃不到。要么用軟刪除is_deleted字段要么單獨(dú)記錄刪除日志。第三批量寫入效率。逐條index很慢應(yīng)該用bulk批量提交每批 500 到 1000 條性能能提升一個(gè)數(shù)量級。4.3 bulk 批量寫入的正確姿勢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ì)對查詢詞分詞后去匹配 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è)帶過濾、排序、分頁的完整查詢把用戶搜索場景拼出來大概是這樣$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 頁。電商場景里用戶翻到第一百頁的概率極低限制頁數(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 里序列化成空對象{}直接寫空數(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里字段對不對。如果文檔在但搜不到八成是分詞或字段類型問題。比如標(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ù)對不上比如代碼里寫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é)果 } }好處是查詢邏輯集中、可測試、換索引名只改一處。而且以后要加緩存、加降級都有地方下手。7.2 降級與容錯(cuò)ES 不是永遠(yuǎn)可用的。網(wǎng)絡(luò)抖動(dòng)、集群重啟、查詢超時(shí)都可能發(fā)生。搜索接口要有降級方案ES 查失敗時(shí)要么返回空結(jié)果加提示要么降級到數(shù)據(jù)庫的簡單查詢雖然慢但能出結(jié)果。關(guān)鍵是別讓 ES 的故障把整個(gè)頁面拖死。超時(shí)設(shè)置也要合理客戶端默認(rèn)超時(shí)可能偏長搜索接口設(shè)個(gè) 1 到 2 秒比較合適超時(shí)就降級別讓用戶干等。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í)對業(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ù)場景下保持穩(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ì)好把同步鏈路想清楚把降級方案留好再動(dòng)手寫查詢。前期多花半天設(shè)計(jì)后期能省幾天排查。至于查詢 DSL 那些細(xì)節(jié)用著用著就熟了官方文檔寫得很全遇到具體問題查一下就行。真正拉開差距的是對業(yè)務(wù)搜索需求的理解和對邊界情況的預(yù)判。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产精品久久久午夜夜伦鲁鲁| 91成人久久| 五月婷婷激情| 久久少妇| 午夜性| 色图综合| 色欧美天天| 亚洲情色 自拍| 日本性爱网址| 亚洲不雅视频1区二区| 99热久| 98久久超碰| 成人情色一区二区| 色欲久久久久综合网| 国产按摩一区二区三区| 国产高清亚洲日韩一区| 热天堂一区二区| 国产熟妇 码视频户外直播 | www.欧精品| 神马久久久久久| 久久久久久久一级黄色打同平台| 狠狠婷婷亚洲中文综合久久| www.AV有限公司一区| 日韩欧洲操屄视频| 国产乱不卡| 肉嘟嘟www视频在线观看高清| 国产熟女| 美中日韩无码| 欧美激情内射| 九九九午夜| 色色色日本| 999 久久久| 欧亚性爱视频免费看| 久久久精品,3| 毛片视频白嫩| 亚洲精品亚洲人成在线麻豆| 成 人 A V免费视频在线观看| 国产极品999| 国产午夜福利专区综合| 亚洲drav色图| 精品夜夜澡人妻无码| 好爽免费视频| 色婷婷成人综合| 国产高清无码一区三区二区| 亚洲成人在线乱码色午夜| 九九视品黄色| 激情综合五月| 明星性猛交ⅹxxx乱大交| 91天射| 9长久久精品| 爆操无码| 天天视频网站黄| 青青草久久| 久久大香蕉| 日韩免费三级黄片电影| 亚洲图片视频小说| 国产精品久久久久久久久久久久久久久久久久 | 天天看天天干| 麻豆色99999| 综合国产97| 久久这里是精品| 久久精品无码熟妇一区二区三区视频导航 | 自拍偷拍第26| 99精品无码| 91是天天| 激情啪啪拍91| 日本中文字幕不卡视频| 亚州,欧美在线| 国产欧美精品日韩区二区麻豆天美| 9国产超碰| 全国男人天堂网| 中文啪啪视频| 亚洲各类熟们中文字幕| 中文字幕日韩专区精品系列| 国产日韩中文字幕欧美| 国产妇女精品视频青青草| 婷婷五月色| 亚一综合久久久久久久久久| 麻花豆传媒剧国产MV出差| 9 1果冻精品视频| 国产久久一区二区三区野外在线| 色色激情五月天| 黄色在线网站| 91精品国产91久久青草| 一区e区三| 中美日韩毛片| 懂色AV一区二区三区| 国产中文大片资源中文字幕| 啊啊啊在线观看| 美国三级日本三级久久99| 精品免费1| 久久人妻视频网| 家庭乱伦性爱av| 69精品| 久超碰这里只有精品| 快点操死我| 久久久97| 色色色网站| 91人妻精华帖| 国产精品高潮呻吟av久久4虎| 日韩99999| 国产无码精品高清| 香蕉黄色一级视频| 精品无码一区二区三区色欲| 夜夜爽夜夜操| 欲香欲色综合天天伊人| 午夜福利 成人 91| 国产AV天美传媒一区二区三区| 精品九九九九九九九九九| 第二页中文字幕| 欧美日韩电影一区二区| 久久国产视频专区一二三| 婷婷五月天综合网| 色色国产| 99热这里只有精品99| 天天躁日日躁AAA片李宗瑞| 93人人操人人| AV不卡在线| 国产一区二区三三视频| 91丨九色丨国产丨人妻在线| 激情小说日韩无码| 最新日日夜夜天天干干| 精品高清一区二区三区三州| 国产99久久99热这里只有精品15| 婷婷久久网| 99自拍视频在线观看| 国产 日韩 另类 视频一区爱| 国产亲戚伦亲在线| 999岛国大片| 日韩黄色成人性爱| 五月丁香六月| 亚洲成人av色网| 婷婷五月成人| 天天操女人| 色婷视频| 宗合情欲网| 天天综合网日韩| 午夜毛片亚洲精品片国产久久久| 久操免费观看| 91精品国产91久久青草| 91性高朝久久久久久久久| 欧美日韩午夜精品一区二区三区| 翔田千里AⅤHD无码| 欧美伊人久久综合网| 免费超碰97在线观看| 午夜偷拍久久熟女| 色五月激情综合网| 久久久艹艹艹| 亚州男人的天堂| 91网站18+| 亚洲国产97在线精品一区| 欧美肥臀在线| 囯产精品久久久久久久久久梁医生| 91精品亚洲内射孕妇| 人人操肉肉| 精品一区二区综合熟妇| 99免费在线视频| 国产精品久久发布| 久9爱经典视频| 欧美色91| 2023天天操夜夜操| 欧美在线视频观看一二三四区高清| 校园春色中文字幕AV| 日韩欧美三级| 在线观看无码三级少妇| 亚洲av无码成人精品国产| 婷婷九月色| 啊啊啊啊啊操我视频| 超碰99热中文字幕| 欧美熟妇精品黑人巨大91| 翔田千里AV无码秘 三区| 日韩性爱视频在线免费观看| 激情五月综合| 蜜臀久久在线视频| 超碰午夜| 无码聚合| 日韩丝袜人妻AV| 久操视频免费观看| 国产白丝av| 日韩亚洲精品一区二区| 亚洲中文字幕噜噜噜久久久| 人妻丰满熟妇av无码区蜜桃| 干我久操| av天堂影视中文在字幕在线中文| 97干天天| 中文字幕欧美丝袜07资源| AAAAAAAAA黄片| 中文字幕精品一区二区精品| 亚洲国产丝袜在线观看| 国产无码成人无码| 免费AV播放| 亚洲怡春院| 免费在线看黄片av| 1024久久高清视频| 婷婷10月天青娱乐| 嗯啊视频免费在线观看| 又大又黄国产| 酒色综合网| 99re久久| 美女91网| 九九热九九| 男人精品天堂一区| 国产精品无码久久久久2028| 九九亚洲精品| 久操凹凸视频| 黄总AV色图| 丝袜美腿亚洲| 91爽啪| 国产精选视频| 亚洲欧美经典一区二区| 少妇专区一二三四五| 免费家庭乱伦视频| 日本精品国产视频| 无码久久亚洲高清,| 日韩操人| 大鸡巴久久| 国产又爽又黄| 欧美性高潮在线| 丰满人妻一区二区三区大胸懂色| 伊人操操| 97人人操人人摸人人爱| 日本中文字幕一区| 91社区拍啪人妻| 嗯嗯,好大,好爽,好骚| 青青草福利视频| 夂久色| 亚洲不雅视频1区二区| 亚洲人妻av| 亚洲精品一区二区三区在线播放| 久久久久78| 翔田千里爆乳巨臀无码| 97久久久精品| 色色香蕉| 欧美 亚洲精品首页| 人人插人人搞人人操| 中文字幕二区| 激情综合五月| 日韩欧美加勒比| 少妇99成人麻豆| 日产操逼| 精产国品一区二三产品| 口爆吞精在线观看| 久久久久久久综合,国产| 麻豆啪啪啪视频| 91精品国产长腿丝袜美女| 欧美刺激色黄片免费看| 综合欧美亚洲| 97高清啪啪| 午夜.DJ高清在线观看免费7| 九七毛片九九毛片| 99色在线| 无码动漫av中文字幕| 好好的日:com久久九九| 99爱爱| 久久精品操| 亚洲AV免费在线| 欧美中文字幕精品人妻| 麻豆影音天美视频| 国产成人bd在线观看| 亚洲做性| 中文字幕视频一区视频二区| 无码最新| 久久伊人影院| 亚欧中文字幕在线视频| 久久国内| 中欧人妻丝袜中文字幕| 国产AV天美| 澳门特级毛片免费观看| 黄骗免费网站| 99色在线| 精品人妻一区二区三区-国产精品| Av手机版天堂网| 国产精品国产| 欧美黑人XXXⅩ高潮交| 人人人摸人人| 熟女熟妇伦久久影院毛片一区二区 | 欧美久热| 伊人网青青| 夜夜高潮夜夜爽国产伦精品| 久久综合18p| 91艹B视频| 精品一区二区三区麻豆| 亚洲综合贴图91| 伊人色综合网| 在线无码操| 精品国产Av无码久久久伦古装| 欧美色一二三| 久久久九97| 亚洲欧美自拍偷拍| 亚洲高清视频在线免费观看| 亚洲双插| 精品中文日韩字幕视频| 国产精品 午夜福利| 精品人人插人人操| 国产成人欧美一区二区三区的国产| 国产美女高潮视频| 精品国产国产AV| 蜜桃视频精品一区二区| 欧美性爱伊人| 九九九久千久久激情蜜桃在线看 | 亚洲精品日韩国产欧美| 2017人人操,人人摸| 精品国产乱码久久久久久蜜臀| 97超碰久| 磁力99AV| 亚洲综合码| 五月丁香影院| 亚洲一区二区精品福利| av无线看| 欧美极品性爱天天射| 色牛aV| 超碰97人妻自拍| 欧美午夜视频| 青青草国产亚洲精品久久| 操久久久久久| 色色五月天激情| 国产精品岛国片在线观看| 情趣丝袜无码操逼视频| 黄片免费日韩| 欧美色图20p| 色九九久九九| 加勒比色99999| 天美传媒av一区二区| 色综合潮| 97干色天堂| 欧美三级一级| 97人妻色| 日韩伦理视频| 伊人97色天使| 久操在97| 亚洲免费成人在线高清无码视频| 2021国产成人精品久久| 97超碰人人模人人拍人人| 男人的天堂免费| 亚洲第一页色网| 天天性射网| 在线色资源| julia ann久久| 中文字幕伊人| 99热在线只有精品| 欧洲亚洲少妇| 七月丁香婷婷| 沈阳熟女高潮对白视频| 97超碰磁| www.91逼逼.com| 另类小说综合网| 欧美人人曰人人操人人射射| 大香蕉专区| 一牛影视成人片免费| 隔壁邻居波多野结衣中文字幕| 一级AV性爱| 日韩黄片视频试看| 综合操逼| 天美精品av| 久久精品视-一级做a爰片性色毛片16美国-中国女与老外在线精品 | 中文字幕亚洲欧美在线不卡| 亚洲色图加勒比| 人妻在线大香蕉| 91色堂| 国产国产亚洲一二三久久| 色婷婷日韩精品一区二区三区| 久久久999国产精品| 精品国产AV一区天美传媒| 欧亚日韩中文在线| 亚洲视频1区| 丝袜剧情| 男人的天堂2010| 国产人伦精品一区二区三区| 老司机久久| 久久中文字幕女同性恋一区| 秘书高跟黑色丝袜国产91在线| 人妻91少妇| a级免费在线观看| 国产精品亚洲高清在线| 亚洲欧美成人在线| 116美女午夜| 欧美A√综合网 | A 天堂在线观看视频| 色色色综合网| 另类av天堂| 干美女人妻| av天堂电影网| 欧美极品性爱天天射| 日本理论在线| 色诱中文字幕| 9美女超碰在线免费观看| 一起草三级AV电影在线观看| 91在线视频观看国产| 久久99综合| 殴美日韩m| 91天堂丝袜美腿| yaouchengrenav| 亚洲欧美日韩精品久久久一区二区 | 岛国片国产成人亚洲播放| 九九香蕉网| 国产综合久久久鬼色| 色香网| 日本成人免费一区二区三区| 亚洲四虎熟女精品| 久久久久久久久九九久孕交| 欧美日综合| 自拍偷拍草一草| 色啪网| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 精品国产乱码久久久久久久久久毛片 | 午夜婷婷| 操91| 欧美熟妇成人一区二区| 色婷婷小说| 啊啊啊好大好湿| 免费视频97| 国人欧美精品一区二区| 欧美色图私拍91| 日韩一卡二卡三卡| 操我无码| 成熟熟女国产精品一区二区| 91精品老女人| 精品少妇一区二区三区在线视频| 色偷偷色偷偷欧美日韩| 岛国爱情动作片在国产AV无码专区亚洲AV漫画| 久久久 国产精品| 欧美成人色| 日本一区二区不卡| 超碰97起碰| 久久久极品| 高跟丝袜AV专区国产| 91中文精品日韩欧美在线 | 自拍啪啪视频| 欧美性爱系列| 欧美韩日精品资源| 欧美日韩另类在线| 1234区中文字幕在线观看_青青草国产在线_日韩一区二区 | 久草看看看| 日韩激情啪啪| 后入式视频国产自| xxxx网站亚洲精品| AV在线资源| 欧美大香蕉久| 亚洲第一页欧美| 国产精品美女| 亚殴在线| 99无码| 国产熟女少妇一区| 国产精品96久久久久久| 欧美熟女少妇| 麻豆天美91| 91超碰人人| 青青草毛片| 国产原创自拍| 国产精品不卡av免费在线观看| 蜜桃久久综合视频| 超碰97丝袜| 日韩乱码Av| 四虎在线观看视频| 澳门人妻久久| 日熟女| 亚洲综合九| 日韩综合无码色欲vv| 伊人丝袜美腿高跟在线观看高清| 欧美黄色片在线播放| 91真人天天在线| 亚洲国产一区二区入口| 操淫穴亚洲五月丁香 | 日韩二级| 天堂俺去俺来也www久久婷婷| 欧美日动态视频| av在线一区二区三区| 91美女视频电影| 日日碰狠狠添天天爽超| 91亚洲网站| 91xingse| 天天操夜夜操狠很操| 超碰97久久国| 日本 欧美 国产一区| 蜜臀久久99精品久久久久久成人小说| 九九热视频在线观看| 亚洲欧美天堂| 热热热热日日漂亮永久永久国产日| 伊人久久综合影院| 久久中文字幕人妻熟av女蜜柚| 五月天综合网| 波多野结衣之双飞调教在线播放| 性交一区二区在线播放| 色综合久久久久| 超碰午夜| 男人的天堂日韩| www.五月天| 天堂v无码免费视频| 天天看特黄的免费网站| 91狼人| 日本淫乱女一区二区三区视频| 中文字幕人妻色偷偷久久皮 | 91网18| 久久免费精品视频免一| 国产美女高潮| 亚洲系列欧美| 骚乳在线| 一区二区三区精品久久| 超碰97亚洲| 成人久久精品| 综合色图,成人综合网| 翔田千里AⅤHD无码| 国产精品夜夜夜| 大鸡吧尹人在线| 可以在线观看AV的网站| av网站免费看| 久久久久久无码人妻中文字幕| 久久男人的天堂国产| 另类TS人妖一区二区三区| 欧美专区17页| 超碰中文字幕人妻草一区| 九色婷婷| 亚洲少妇综合在线播放| 日本一区二区中文字幕久久| 91网站在线播放| 厕所偷拍在线| 120分钟婬片免费看| 吖在线不卡一区二区国产剧情| 九九热精品视频六| 9精品久久| 啪啪视频mP4| 久久一区二区三区入口| 性饥渴少妇av无码毛片| 热热色中文无码| 日韩八十路老熟女| 97色97好| 91丨国产丨白浆| 久久亚洲av成人无码国产| 黄色大片免费在线| 91老熟妇| 999精品乱码| 91网站在线播放| 久久久99999久网站| 江都AV在线| 丁香激情网| 手机看av网站在线看| 中文字幕,人妻,日韩| 亚洲福利影院一区久久| 啊啊啊好大好深| 国产精品色约约| 9久精品视频在线观看| 亚洲情色1区| 屌逼传媒| 日本在线一二 | 99精品久久| 国内精品伊人久久久久影院会| 欧美日韩性爱电影在线| 亚洲中字幕日本一区二区三区| 国产精品农村妇女| 欧美 色 亚洲| 一区二区三区四区理论片| 自拍啪啪视频| 97久久超碰国产精品| 久久精品99| 日本九九久久99| 婷婷香网站| 97精品97| 亚洲色图 图片| 午夜毛片高清免费不卡| 天天看高清麻豆| 9久久美女首页| 91草草草| 九九九精品一区二区无码| 日本天天干天天搞一区| 91综合国产精品| 91久久国外网| 欧美综合自拍亚洲综合图| 玖玖超碰熟| 欧美草草| 国产sv美女内射| 亚洲区 欧美区| 最新AV在线| 国产一区二区在线播放| 中文字幕丰满人妻日本| 国产无马在线| 二男一女成人A片| 国产AV激情无码久久无码| 中国一区二区亚洲人妻| 亚洲国产无码精品首页久久久| 色五月婷婷色| 熟女人妻av在线资源,黄色的资源| 超碰79人人乐| 久久蜜色情在线视频xxx免费观看| 久偷拍| 亚州男人的天堂| 99视频自拍区| 精品人妻一区二区三区在线视频不卡| 超碰78| 国产成人自拍视频视频| 婷婷五月天激情网| 欧美男人一区| 日本 免费 一区二区三区 久久香蕉 | 中文字幕日产av人| 91欧美美女日韩国产婷婷| 国产性爱欧美性爱在线| 久久精品电影在线| 国产精品日本无码A片| 欧美精品日韩久久久九| 精品少妇一区二区三区在线视频 | 99热免费| 蜜桃精品视频一区二区三区| 亚洲欧美97| 99久久精品欧美国产| 可以在线观看AV的网站| 日韩97超碰中文字幕| 97色涩| 国产一区二区在线看| 亚洲国产美女久久久久| 伊人五月天激情| 蜜臀久久99精品久久久老,,| 午夜福利区| 97国产|免费| 综合伊人激情| 激情四射五月天| 九九英色视频| 久久久久成人网| 91美乳| 欧美日本不卡| 2024黄色视频| 色爱国产| 欧美 日韩 另类 亚洲| 99在线精品观看视频中文| 日本成熟少妇A∨网站| 欧美特大黄一级片片免费| 91扒丝袜综合在线| 久久伊人东京热| 日韩免费看在线黄色片| 大奶啊啊好爽 | 欧美片第一页| 国产久久久久久久久一区二区| 日本青青草在线| 婷婷10月天青娱乐| 先锋色眉乱伦资源| 人妻久热在线| 午夜噜噜噜| 乱伦av麻豆| 嗯~啊~快点 死我视频| 久久精品人妻一区二区三区| 国产操伦| 欧美日韩人人精品| 色爱天堂| 人人做人人妻人人夜视频| 91久久伊人婷婷青青草| 清纯唯美亚洲| 先锋精品av色鲁| 欧美天天在线| 国产东北女人在线视频| 中文字幕55555| 成人怡红院| 久久久国产三级黄色片| 久久99草| 欧美性爱91| 亚洲丝袜B诱惑| 国产传媒一区二区三区| 久久XX| 久久精品一区一起草| 无码逼| 天美欧美国产| 蜜乳Av成人片网站| 黄总AV色图| 欧州一区二区三区四区| 日本熟妇熟色97一本在线观看| 九久久精| 啪啪91| 日本 情色 1区| 日韩午夜啪啪视频| 午夜福利合集| 最新国产精品久久精品| 中文字幕精品三级久久久| 激情综合网五月婷婷五月天| 欧美少妇高潮久久91| 美女视频尤物网在线看| 国产白丝在线| 亚洲日韩久久精品一区| 国产九九九九九九九九| 欧美 亚洲精品首页| 久久伊人在线五区| 顶级丝袜熟女一区二区三区| 日韩久射综合| 熟女一区二区| 国产av热热色| 久久久久久久久成人av解说| 超碰97综合在线| 国产欧美一区二区| 强奸乱伦αv片| 天天看天天日| 91操熟女视频| 欧美78| 日韩欧美字幕亚洲一区二区| 久久超碰com| 91超碰碰在线| 嗯啊啊啊轻点视频 | 另类老少妇| 日韩成人午夜精品久久高潮| 亚洲综合色婷婷| 男女猛烈无遮掩视频免费软件| 欧美手机在线综合| 中文字幕AV片| 欧美性后入| 激情五月天婷婷| 黄色激情电影在线观看| 亚洲精品久久久久毛片A片拉屎 | 色拍偷亚洲| 啊啊好多水| 国产精品麻豆成人AV艾秋| 亚洲色 国产 欧美 日韩| 嫩草美女久久| 超碰在线欧美性爱激情| 欧美影院一区二区三区| 天天综合中文字幕 91| 亚洲色图 91| 性欧美第一页| 天天天堂影视日韩亚洲91| 蜜桃精品视频一区| 精品久久久不卡一区二区| 大香蕉天天看妹子| 99中出在线| 欧美性天天影视| 中文字幕精品人妻丝袜| 青久操| 欧美亚洲厕所精品偷拍91 | 99999久久久久9国产精品| 水澄无码AV| 又大又黄国产| 欧美伦乱爱| 亚洲清纯唯美| 国产一区二区精品久久久不卡蜜臀| 九久久精品| 992视频一区| 久久久久久久强迫| 亚洲精品天堂久久A∨51成人漫| 色操逼网| 天天日B夜夜干B时时操B| 婷婷在线精品| 欧美日韩理论一区| 九99久久| 日日爱99| 黄色小视频日本txt| 嗯啊不要在线| 国产av热热色| 欧美日韩精品久久久久久久久东北老熟妇| 大鸡巴久久| 欧美Aⅴ| 97久久久| 中文字幕日韩人妻视频一区二区三区交换夫妻| 熟女精品一区二区在线观看| 男人天堂最新手机版在线青青草| 青青在线视频日韩欧美| 欧美系列在线一区二区| 日本美女性生活久久久久久久| 青青草啪啪网| 国产视频第二页| 东北丰满熟女国产一区| http://qxhbdz.com| 国产美女91| ..日韩av毛片精品久久久| 艹我哪美一区无码| 欧美色图自拍| 青娱乐亚洲自拍| 嗯嗯啊啊操死我| 成人九九| 中文字幕狠狠玩| 久热久操| 国产精品自拍xxxx| 日韩精品人妻系列无码天堂| 久久香蕉国产线看观看亚洲女人| 欧美精品日韩久久久九| 色 婷97| 人人操欧美风骚| aaa一级黄片| 国产热av| www成人啪啪18秘 免费| 肉丝无码中文高清| 久久久一区二区三区三州| 白丝AV网站| 日欧操屄| 动漫av中文| 少妇人妻好深太紧了vr91| 婷婷另类小说| 日本丝袜人妻内射| 国产妇女精品视频青青草| 激情五月天插| 乱子伦一区二区三区国产精品| 国产午夜福利专区综合| 超碰 av 女人天堂| 92午夜免费福利视频| 熟女久久久| 国产成人精品日本亚洲语言| 亚洲无码一区成人免费午夜| 91亚州日韩高清| 五月情色天| 国产成人AV麻豆| 看黄片视频免费| 超碰97综合在线| 伊人天堂在线| 操操操五月天婷婷丁香影院| 美女主播色欲91抠b在线播放| 久久久久免费看少妇A片特黄| 嫩草伊人久久精品| 日韩人妻 中文字幕| 97久操| 中日韩久久人妻一区二区| 欧美日韩性爱操大逼| 亚洲色婷婷综合久久一区二区三区| 麻豆精品久久久久久久| 黄片国产精品一区二区| 色天天野狼综合社区| 色优久久| 欧美成人A天堂片在线观看| 78操B| 东京热大香焦| 青青青操| 超碰人人在线| 精品久久久高清无码| 97干在线视频| 少妇色综合| 午夜天堂网| 久久性爱视频| 翔田千里av一区二区三区| 成 人 A V免费视频在线观看| 成人草草视频| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 蜜桃臀一区二区三区久久| 极品五月天噜噜| 国产亲戚伦亲在线| 2017人人操,人人摸| 97视频在线播放| 丝袜视频网国产90| 日本新免费二区三区| 超碰97资源中文字幕| 五月婷婷激情网| 无码在线亚洲| 欧美精品99久久久**| 午夜无遮挡男女啪啪视频| 极品销魂美女一区二区| 奶水 人妻 哺乳 在线| 2017天天透天天通天天擦| 亚洲成人精品久久久| 亚洲免费精品一区| www鬼畜国产男人的天堂| www.色婷婷| 精品区9| 日韩av女优在线免费一区| 中文字幕在线观看丝袜| 国产在线精品偷| 9999久久久久| 亚洲图片 91| 性欧美另类高清| 色999偷自拍拍| 熟妇国产免费一区| 99热线麻豆 | 少妇内射www在线观看视频| 天堂资源站| 色香伊人| 97欧美日韩| 亚洲性爱成人| 国产中文大片资源中文字幕| 亚洲色 国产 欧美 日韩| www.zbzhongsen.com| 人人喜人人妻| 欧美日本天堂| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 欧美综合色,www| 97免费视频在线观看| 国产精品ⅴ无码大片在线看.| 最新中文字幕在线亚洲| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 亚洲情色婷婷五月天| 97超级欧美| 欧美亚洲丝袜人妻制服中文99| 亚洲97成人在线观看| 国产熟女完整版中字| 婷婷五月天丁香| 91性感网站| 激情五月天中文字幕色| 国产高清在线观看欧美| 国产欧美日韩女同性恋ww喷水精品| 和协影院中文字幕三区| 日本不卡二区| 久久久免费的精品| 麻豆福利视频导航| 人妻丝袜二区| 搡老人老9丨女老熟人| Av色五月| 五月情色天| 日韩精品中文字幕二区| 欧美色图天堂网m| 亚洲熟女av中文字幕| 插欧洲美女欧美精品| 日夜久久久九九九久| 日本布卡一区二三区| 国产人伦a片信息免费片| 91在线免费观看处女| 中文字幕av片| 在线性黄高清免费视频| 日日干夜夜欢| 日操粉逼逼| 亚洲精品蜜桃久久久久久久| 亚洲另类欧美精品| 日本少妇va7777| 日少妇视频| 蜜色网色哟哟| 欧洲黄色网| 操美女人妻| 亚洲男人综合| 国产精品suv一区| 在线观看一级α片刺激高潮视频| 久久欧美按摩999| 啊啊嗯嗯好爽| 日韩精彩免费| 最新av中文字幕高清| 手机久操欧美综合色码| 6080YYY午夜理论片在线观看| 国产熟女精品区| 午夜一区二区三区国产| 免费99精品国产自在在线| 色牛牛AV| 中文字幕一区二区视频在线观看| ,国产乱人伦精品一区二区三区| 亚洲精品国语在线播放| 日本久久综合| 亚洲最大的综合性av| 女人香蕉久久毛毛片精品| 亚洲综合五月天| 视频国产成人精品日本亚洲18| 一区二区三区 丝袜高跟| 亚洲最大网站av| 97爱| 97爱碰| 天天综合,91综合永久| 久久五十路熟女人妻| 国产怡红院在线| 99国产精品久久久久久久成人热| 午夜福利成人免费视频| 啊啊啊啊啊啊啊啊在线观看| 东北女人| 亚洲男人的天堂亚洲| 色色香蕉| 五月天婷婷在线看| 91欧美网| 久久久精品一区二区| 97蜜桃综合| 久热91| 91成人在线免费视频| 成人国产视频在线观看| 久久超碰天天| 98福利在线视频| 婷婷国产精品九区| 日本超碰在线国产一区| 人人摸人人摸人人干| 日韩有码 一区二区三区| 人妻少妇精品久久久久久| 香蕉av一区二区三区| 九九久久国产精品| 91是天天| 99自拍B亚洲| 亚洲综合五月天婷婷丁香| 91小视频| 欧美亚洲尤物久久| 极品综合| 国内精品a| 国产日韩欧美操逼视频| 91精品国产91久久福利| 老熟女综合| 人妻精品一区二区| 南澳成人一级片在线播放| 欧美日韩精品久久久久东北老熟妇| 欧美在线 亚洲| 色九九综合AV| 大但人体久久久久| 风韵犹存大大大大香蕉| 欲色综合| 日韩兔费看黄片| 伊人操你| 小视频玖玖| 一区二区三区精品久久| 首页亚洲国产高跟丝袜诱惑视频 | 久久久久国产一区二| 久久激情视频| 色呦呦、国产精品| 91久久堂| 男人天堂毛片| 国产精品不卡高清在线观看| 亚洲一级黄色毛片| 91快色色色色色| 日韩午夜啪啪视频| 熟女日韩| 嗯嗯嗯啊啊啊干死我吧| 蜜臀99久久精品| 欧美极品| 亚欧高清在线| 青青草操逼逼视频| 操死我了嗯嗯嗯| 依人大香蕉| 青青草伊人久久| 青青草色AV| 亚洲欧洲自拍图片专区满春格| 黄色区免费观看中文字幕| 国产亚洲一黄| 久久久久久久综合,国产| 亚洲精品97| 欧美在线干| 六月丁操逼| 女生看匆91网站| 91成人精品在线播放| 欧洲乱码一区二区| 91亚洲影视| 久久人人爽人人爽人人片Ⅴ| 久久久性爱视频| 舔足天天操天天射| 亚洲成人一区二区精品| 久久久久一本一区二区青青蜜月| 97欧美综合网| 爱av免费| 婷婷九月国产| 啪啪啪东京| 色婷婷成人综合| 欧美v日韩v亚洲v最新在线| 超碰成人国产| 日本97久久| 男女激情黄色网址| 久久亚洲人妻| 不卡中文字幕aⅴ在线| 青娱乐导航AV| 国产精品人妻免费精品| 美女人妻色网站| 久久区| 日本一二区免费| 久久精品| 大香蕉手机在线视频| 国产精品久久久 | 91动漫操逼视频| 老鸭窝日丰县女人| 国产高潮AA片免费看| 欧美偷| 天天流夜夜操| 天美传媒精品一区二区| 按摩中文字幕| 国产毛片在线| 日本中文字幕熟妇| 国产精品自在自拍视频| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 麻豆人妻少妇在线免费观看| 国产无码三级视频在线观看| 国产熟女一区二区丰满| 亚洲精品成人动漫在线| 天天摸天天舔天天操| 屌逼麻豆| 国产高清精品一区二区三区毛片 | 久久久久久日韩| 后入式999| http://qxhbdz.com| 久久久久人妻二区精品叶可怜| 夜色97| 九九九午夜| 亚洲αv一区二区三区| 91少妇人妻| 330dv亚洲成年视频网| 啊啊啊啊嗯嗯嗯用力好爽| 韩国一级做a久久久久| 欧美综合 站| 麻豆影音天美视频| 六月色色| 中日韩久久久| 亚洲国产综合视频| 欧美在线大香999| 精品国产国产AV| 超碰亚洲97| 久久久久久久亚洲Av无码| 麻豆天美一区二区| 香蕉免费一区二区三区不读 | 国产无码一二三区| 翔田千里AⅤHD无码| 97超碰欧美精品| 久久久久9999精品九九九| 乱日视频| 精品精品精品| 动漫爆乳3D奶水一区在线观看| 日韩在线一区高清在线| 夜夜欢天天干| 日韩内| 久久9免费视频| 激情情色五月天| 中国熟女91| 亚洲自拍欧美色综合| 久久、1234| 久久国产精品,久久国产| 操人妻少妇中文| 久久久久久国产精品| 狠狠综合| 五月天激情国产综合婷婷婷| 日本理论在线| 亚洲aV性爱| 久久久精品国产亚洲AV无码| 国产高清免费不卡av| 日本色色视频网站| 国产一区在线观看无码AV| 免费一级性爱久久| 国产精品久久久久久久毛片1| 性videos欧美熟妇hdx| 6080YYY午夜理论片在线观看| 超碰97人人cao| WWW啪啪的com| 可以在线观看的黄色网址| 日韩国产不卡在线视频| 亚洲第一狼人丝袜美女另类 | 一及黄久一点| 97精品97久久| 这里只有97精品| 免费操逼91| 欧美aaaaaaa| 色综合色色| 一区二区三区四区五区高清无码永久视频| 伊人色综合超碰| 后入式五六区| 九九热九九| 99re国产精品视频| 抽插无码高清一区| 俺去久久| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 色香色欲天天综合网天天来吧| 黑丝少妇| 亚洲情色一区二区三区| 欧美激情在线观看视频| www.色吧5.com| 成片免费观看视频大全| 激情人妻另类| 九九热九九| 人妻日日干| 女一区二区| 国产精品诱惑| 在线国产一区二区av| 亚洲色9| 天堂无码| 久久婷婷伊人| 日韩色图 一区二区| 国产精品一区av在线| 黑丝91视频| 亚欧色图在线激情| 九九九九久久久| 亚洲做性| 成人性爱电影一区二区| 久久久久78| 国产精品一二三区18| 极品白嫩福利在线| 啊啊啊想要| 99成人| 大逼色网站| 网页导航五月天免费一二三区| 啊啊啊啊啊在线视频| 一本色道无码DVD中文字幕| 激情五月天婷婷| 亚洲久久东京热一二三四五区视频| 亚洲黄片免费在线播放| 亚洲97P| 激情 欧美 亚洲 小说| 天天做天天爱天天爽AV| 岛国片在线视频网站| 91av天美性媒精品视频| 中文字幕55555|