1. 程式人生 > >oracle全文索引_多個表多個欄位按照關鍵字的匹配度排序

oracle全文索引_多個表多個欄位按照關鍵字的匹配度排序

在網上看到oracle全文索引都是對一張表一個欄位進行全文檢索,我想對多個表多個欄位按照關鍵字的匹配度排序,sql語句如下

select score(1)  ,score(2), CDA.AREANAME,CDS.STREETNAME from  C_DICT_STREET cds  left join C_DICT_ADMINAREA cda on CDA.C_DICT_ADMINAREA_ID = CDS.C_DICT_ADMINAREA_ID
 where CONTAINS (CDA.AREANAME, p_split_chinese('蘇州滄浪胥江北區'),2) > 0   or
 CONTAINS (CDS.STREETNAME, p_split_chinese('蘇州滄浪胥江北區'),1) > 0
order by score(1) desc ,score(2) desc;

這裡的score是oracle全文檢索對關鍵字的匹配程度所計算的數,contains裡的最後一個引數“1”和“2”就是對這個數的一個標識。