sqlite3中字串匹配欄位資料的問題:
現有一個字串標題(10到20個詞組成),一張關鍵詞表,表table中1個欄位keyword(每個關鍵詞由1個或多個詞組成,2w-6w個關鍵詞)
例如:
標題:Huawei P40 pro
關鍵詞表:keyword
'huawei'
'huawei p40'
'huawei pro'
'p40 pro'
'p40+'
想要實作的結果,查詢標題中包含的關鍵詞且關鍵詞中不存在其它詞的資料,結果應該是除'p40+'以外的全部資料,我目前的做法是拆分標題,先模糊查詢關鍵詞中包含標題單詞的資料,再replace為空,最后篩選keyword為空的資料
select * from table1 where (keywrod like '%huawei%' or keywrod like '%P40%' orkeywrod like '%pro%')and replace(replace(replace(keywrod,'huawei',''),'P40',''),'pro','')='',
這種方式可以實作,但如果標題很長replace會很多,sqlite會溢位,有沒有好的思路和方法,受教
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/197480.html
標籤:其他數據庫
上一篇:Mysql 組合索引
