mysql 權重搜尋

2021-10-01 13:35:07 字數 1655 閱讀 8316

sql 匹配 _ 和 %

sql的模式匹配允許你使用「」匹配任何單個字元,而「%」匹配任意數目字元(包括零個字元)。在 mysql中,sql的模式預設是忽略大小寫的。

注意在你使用sql模式時,你不能使用=或!=;而使用like或not like比較操作符。

語法:select 字段 from 表 where 某欄位 like 條件

其中關於條件,sql提供了兩種種匹配模式:

1. 百分號(%):示任意個或多個字元,可匹配任意型別和長度的字元。

示例1:select * from character where name like 『%孫%』;即匹配e姓名為「孫行者」,「行者孫,「行者孫」三行資料

示例2:select * from character where name like 『%孫%』 and name like 『%行%』; 即匹配姓名為「孫行者」,「行者孫,「行者孫」三行資料

示例3:select * from character where name like 『%孫%行%『;只能匹配姓名為「孫行者」一行資料

注意示例2和示例3的區別

2.下劃線():表示任意單個字元。匹配單個任意字元,它常用來限制表示式的字元長度語句:(可以代表乙個中文字元)

示例1:select * from character where name like 『三』;即把姓名為「唐三藏」的一行資料

示例2:select * from character where name like 『_三』;即把姓名為「唐三」一行資料

拆詞 api

使用正規表示式代替 like or

下面的方式效率較低,要對 tt.tt 列進行多次的 like 查詢

select * from tt where tt.tt like 『%鋼筋%』 or tt.tt like 『%混凝土%』 or tt.tt like 『%預應力%』 or tt.tt like 『%管樁%』

mysql 支援對列的正規表示式方式查詢。

select * from tt where tt.tt regexp 『鋼筋|混凝土|預應力』

權重搜尋

權重搜尋涉及到幾個mysql 函式。

locate(『鋼筋』,tt.tt) : 查詢鋼筋在 tt.tt 列出現的位置,0 表示未找到。否則返回 座標位置,座標位置從1開始。

mysql 中 0 可以理解為 false 。 非0 數字可以理解為true

if( 表示式 , 1 , 0) : 判斷表示式結果, true 則返回 1 , false 則返回0

demo

select * , ( if(locate(『鋼筋』,tt.tt) , 1, 0) + if(locate(『混凝土』,tt.tt) , 1, 0) + if(locate(『預應力』,tt.tt) , 1, 0) ) as weight from tt where

tt.tt regexp 『鋼筋|混凝土|預應力』 order by weight desc

select * , ( if(locate(『鋼筋』,tt.tt) , 1, 0) + if(locate(『管樁』,tt.tt) , 9, 0) + if(locate(『預應力』,tt.tt) , 1, 0) ) as weight from tt where

tt.tt regexp 『鋼筋|混凝土|預應力』 order by weight desc

MySQL 權重搜尋

sql的模式匹配允許你使用 匹配任何單個字元,而 匹配任意數目字元 包括零個字元 在 mysql中,sql的模式預設是忽略大小寫的。注意在你使用sql模式時,你不能使用 或!而使用like或not like比較操作符。語法 select 字段 from 表 where 某欄位 like 條件 其中關...

京東搜尋權重新規 京東搜尋權重衰退模型解讀

商品無緣無故排名自動掉到第二頁或者其他頁面了,是權重衰退的模型在干擾,京東整體的綜合得分是根據週期計算的,因為搜尋反饋是一直累計的,限制搜尋反饋是按照週期來計算。一起去了解一下吧!龐大的搜尋大資料,終於官宣了自己的最新模型了,這個模型可能讓大家雙十一過的有競爭力,您再也不用擔心倚老賣老了,新品依然有...

搜尋引擎如何計算權重

讀者可能已經發現了又乙個漏洞。在上面的例子中,詞 的 站了總詞頻的 80 以上,而它對確定網頁的主題幾乎沒有用。我們稱這種詞叫 應刪除詞 stopwords 也就是說在度量相關性是不應考慮它們的頻率。在漢語中,應刪 除詞還有 是 和 中 地 得 等等幾十個。忽略這些應刪除詞後,上述網頁的相似度就變成...