http://blog.youkuaiyun.com/linfssay/article/details/7679353
在网上看到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”就是对这个数的一个标识。