記錄一次es商品模糊查詢

2021-10-01 21:36:50 字數 903 閱讀 1242

根據商品編碼或者名稱模糊查詢,之前走資料庫,根據名稱查詢較慢,現在走es

先判斷編碼查詢還是名稱查詢,查詢邏輯不一樣

查詢商品編碼或條碼,termquery全量匹配,prefiexquery字首匹配,should類似or,四個條件滿足乙個就行,過濾部類

minimumshouldmatch:詳解:這個要先分詞,有點類似fuzzy編碼查詢,如:535908,可以分成53,59,08,商品編碼只要包含其中乙個即匹配

must相當於and關聯,使用querystringquery,這個類似分詞查詢,如查詢條件:奧地利,會分成三個詞,商品名稱只要包含其中乙個就會被匹配到

@override

public listsearchproductinfobykey(reqproductsearchvo vo)

searchbuilder.minimumshouldmatch(1);

}else if (stringutils.isnotempty(vo.getsearchkey()))

}else

sourcebuilder.query(searchbuilder);

sourcebuilder.timeout(new timevalue(120, timeunit.seconds));

sourcebuilder.from(0);//分頁起始位置

sourcebuilder.size(vo.getsize());//分頁每頁

searchrequest.source(sourcebuilder);

log.info("terms查詢dsl語句:" + searchrequest.tostring());

return returnsearchshopproductstatusasyncbylocation(searchrequest);

}

一次SQL慢查詢記錄

前段時間,某個深夜,突然接到專案的告警 專案執行異常,檢視告警資訊是由於專案資料庫cpu使用率接近100 導致的。為此深夜中忙活了一陣,當個教訓,且記錄一次。現象 服務資料庫cpu使用率接近100 一直居高不下。原因 sql語句使用不合理的索引,導致資料庫中大量資料的排序,大資料量的記錄排序消耗盡c...

記錄一次SQL查詢語句

以前發現比較經典的句子,都是記錄在電腦上,我今天想搬到部落格上,在我看來,寫部落格真的是一件非常頭疼的事,它是內心的一道坎,我必須得跨過它。1 create table t jeff 2 id int notnull 3 vinnumber varchar 255 default null 4 ch...

記錄一次sql優化查詢

場景 關聯查詢,一張主表關聯4張表進行查詢。主表資料量是16萬,其中被關聯的一張表的數量是6萬。遇到頁面響應速度過慢的情況,首先考慮是否是sql查詢緩慢引起的。第一步開啟mysql的慢查詢日誌 網上教程很多,本篇文章不再贅述 第二步分析慢查詢日誌,這裡要說下分析工具。常用的有兩種,一是mysql自帶...