1. 程式人生 > >分詞查詢按照匹配度相似度進行排序

分詞查詢按照匹配度相似度進行排序

方法;

原表table1

id description
1 霍頓是國外玩水的
2 孫楊是中國的運動員

分詞表table2

id keyword
1 霍頓
1 國外
1 玩水
2 孫楊
2 中國
2 運動員

查詢語句  : 霍頓誣陷中國的孫楊

對上述語句進行分詞後,對於每一個詞語,在後臺進行處理,變成

keyword="霍頓" or keyword="誣陷" or keyword="中國" or keyword="孫楊"。

然後去資料庫中查詢

select id from table2 where keyword="霍頓" or keyword="誣陷" or keyword="中國" or keyword="孫楊" group by id order by count(*) desc;

這樣,相似程度較多的id為2的排在第一,id為1的排在第二,將其id放在一個list[]集合中。

然後該list遍歷去table1資料庫中查詢,就能依次獲得id為2的和id為1的資料。將其add入一個另外的list中即可