账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    全文搜索比like查询结果出入太大?
    • 2020-01-01 00:00
    • 11
    31
    0

    使用like查询时,14条结果,查询字段会出现在列值的前中后三个位置:
    mfg LIKE '%GW7S-020%'
    使用全文索引时,则查询值只会出现在查询字段的前或者后,中部的查不出来
    match(p.mfg_model) against ('"GW7S-020"')
    MySQL 版本 5.6
    可以如何解决呢

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 骄傲,是本色 普通会员 1楼

      全文搜索(Full-text Search)和SQL中的LIKE查询在实现文本信息检索时,尽管都可用于查找包含特定字符串的记录,但它们在功能、效率及准确性上存在显著差异,可能会导致结果出入较大:

      1. 功能差异
      2. LIKE查询:主要用于在数据库字段中匹配指定模式的字符串。例如,SELECT * FROM table WHERE column LIKE '%keyword%'可以找出column字段中含有"keyword"的所有行。但它对英文或短语尚可处理,但对于复杂的、涉及语义理解、同义词替换、拼写纠错等情况则无能为力。
      3. 全文搜索:提供了更高级的文本搜索功能,如词语的相关性分析、同义词扩展、忽略停用词(如“的”、“和”等常见词汇)、支持模糊搜索和拼写纠正等。因此,全文搜索能够提供更为精确和全面的搜索结果。

      4. 索引方式与效率

      5. LIKE查询:当使用通配符 % 在前或前后时,会导致数据库引擎无法有效利用索引,从而可能导致全表扫描,性能较低。
      6. 全文搜索:通常会建立专用的全文索引,预先对文本进行分析和处理,极大地提高了查询速度。在大规模数据集下,全文搜索的性能优势更为明显。

      7. 搜索质量

      8. LIKE查询:由于其简单粗暴的匹配方式,容易产生大量无关或者不准确的结果。
      9. 全文搜索:通过复杂且精细的算法优化,能够给出与用户查询意图更加匹配的结果。

      所以,在处理复杂文本查询场景时,全文搜索往往比LIKE查询能得到更准确、更丰富的结果,而在简单关键词匹配场景下,两者结果可能较为接近。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部