Google喜欢查询Oracle数据库

时间:2015-02-25 19:59:55

标签: oracle search-engine

我想对Oracle表中包含公司名称的列进行查找。

如果我要求" Jennifer的干洗店"我不仅希望返回完全匹配,还要返回"关闭匹配"喜欢(但不限于):

詹妮弗的管道清洁工 杰西卡的干洗店 詹妮弗管道清理 Jennifer管道清洁

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

您可以在每个单词上使用LIKE运算符,并将其与UTL_MATCH.EDIT_DISTANCE结合起来,以便通过贴近来对结果进行排序:

SELECT 
    company_name, 
    utl_match.edit_distance(lower(company_name), 'jennifers dry cleaners') edit_distance 
FROM company_names 
WHERE 
     lower(company_name) LIKE '%jennifer%' OR
     lower(company_name) LIKE '%dry%' OR
     lower(company_name) LIKE '%cleaner'
ORDER BY edit_distance asc;