MySQL LIKE %string% 不够宽容。我还有什么可以用的吗?

2024-05-17

我有一位客户询问他们的搜索是否可以搜索公司名称,这些名称可以根据用户输入以多种格式进行搜索,例如数据库中存储的公司是 A J R Kelly Ltd,如果用户搜索“一个 J R Kelly”被发现,使用;

<cfif pctermsCount gt 0>
AND (LOWER(p.name)  LIKE '%#pcTerms#%')
</cfif>

如果他们搜索“Kelly”,则会找到该公司,但如果他们搜索“A J Kelly”或“AJ Kelly”等字符串的损坏版本,则不会找到该公司。

我能做些什么来让它变得更宽容一点吗?

Thanks.


如果您使用 MyISAM,则可以使用全文索引。请参阅本教程 http://devzone.zend.com/article/1304

如果您使用不同的存储引擎,您可以使用第三方全文引擎,例如 sphinx,它可以充当mysql的存储引擎 http://sphinxsearch.com/index.html或可以查询的单独服务器。

使用 MySQL 全文索引进行搜索A J Kelly会匹配AJ Kelly(不会混淆问题,但 A、J 和 AJ 会被忽略,因为默认情况下它们太短并且会在 Kelly 上匹配。)一般来说,全文更宽容(通常比 LIKE '%string%' 更快),因为允许部分文本然后可以根据相关性对匹配进行排名。

您还可以使用SOUNDEX http://www.madirish.net/node/85通过对单词的语音等效项建立索引并通过在搜索词上应用 SOUNDEX 来搜索它们,然后使用它们来搜索索引来使搜索更加宽容。与声音mary, marie, and marry例如,将全部匹配。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL LIKE %string% 不够宽容。我还有什么可以用的吗? 的相关文章

  • 什么时候数据库被称为嵌入式数据库?

    术语 嵌入式数据库 与 数据库 具有不同的含义吗 我见过的嵌入式数据库有两种定义 嵌入式数据库就像专门为 嵌入式 空间 移动设备等 设计的数据库系统一样 这意味着它们在紧张的环境中 内存 CPU 方面 可以合理地执行 嵌入式数据库就像不需要
  • MySQL标签中如何存储标签,总共一个字段还是每个标签一个字段?

    我正在开发一个接近 stackoverflow com 的产品 发帖者需要为其问题或任务输入标签 如何将这些标签存储在数据库中 是总共一个字段 列 还是一个标签一个字段 列 我觉得多对多 http en wikipedia org wiki
  • SQL - 我需要将总值划分为另一个表中的多行

    假设我在 SQL Server 2008 中有以下表 学校桌 School Id Course Id Total Students 1 Acct101 150 1 Acct102 100 2 Acct101 110 2 Acct102 13
  • C# SMO 远程数据库备份到本地机器

    我有一个执行 SQL 数据库备份和恢复的应用程序 这在本地计算机上运行良好 但是如果我针对另一台计算机上托管的 SQL 服务器运行此应用程序 则会出现以下错误 Microsoft SqlServer Management Smo Faile
  • 如何更改 PostgreSQL 表中列的数据类型?

    在 PostgreSQL 交互式终端中输入以下命令会导致错误 ALTER TABLE tbl name ALTER COLUMN col name varchar 11 更改列的数据类型的正确命令是什么 请参阅此处的文档 http www
  • 一个大连接或多个查询哪个提供更好的性能?

    我有一个名为订单的表 订单上的一列是 customer id我有一个名为 customers 的表 有 10 个字段 给定两个选项 如果我想构建订单对象数组并嵌入订单对象中的是客户对象 我有两个选择 选项1 A 首先查询订单表 b 循环遍历
  • 如何下载到 Excel?

    我想为我的 Coldfusion 网站不同部分上的几组不同数据提供 下载到 Excel 功能 我正在使用 Coldfusion 并且希望使用免费的自定义标签 库来帮助我完成此任务 而不是自己从头开始编码 我被指出cflib org http
  • NHibernate QueryOver<> - SubQuery 上的聚合函数

    如何使用 QueryOver 语法编写以下 SQL 语句 SELECT COUNT FROM SELECT FirstName LastName FROM People GROUP BY FirstName LastName as sub
  • 使用 MySQL:使用 Inner Join 更新字段的值

    我有一个主表和一个索引表 两个表共享一个称为 L Status 的公共主字段 我想根据索引表中名为 status 的引用将主表中的数据从 L Status 值 整数 更新为 L StatusLV 可读文本值 以下是我在 PHPmyAdmin
  • sql中的sumProduct

    我正在尝试在服务器上的表中实现 sumproduct 来自 Excel select into myTable2 from myTable1 select a b c d e select c e 100 3423 from myTable
  • Django 尝试使用错误的数据库用户

    已解决 我使用的是 USERNAME 而不是之前尝试使用 Postgres 驱动程序时使用的 USER 我正在尝试将我的 django 项目连接到 RDS MySQL 数据库 我可以在 MySQL Workbench 和 mysql 命令行
  • 使用 knex.js 查询多个表

    我想渲染Expres js and knex js两个表仅使用一个 get 函数 以便在一个 HTML 模板中使用两个表中的数据 当我只查询一张表 学校或学生 但我不知道如何处理两张表时 它会起作用 有什么建议吗 app get schoo
  • 为什么我的 SQL 占位符没有被替换(使用 Go pq)?

    根据文档 我正在这样做 var thingname string asdf var id int err database QueryRow SELECT id from things where thing thingname Scan
  • Hibernate 乐观锁..它是如何工作的?

    我正在阅读下面关于休眠乐观锁定的博客 我打算将它与休眠一起使用 但是 我有一个担忧 我们有java代码和c 代码 都连接到一个数据库 虽然java代码可以使用hibernate来实现乐观锁定 但我想让c 代码做同样的事情 此外 C 代码正在
  • MYSQL 从表中选择,获取表中最新/最后 10 行

    最好 最简单的方法是什么 我目前的查询是 SELECT FROM chat WHERE userID session AND toID friendID OR userID friendID AND toID session ORDER B
  • 如何将两个django模型(表)合并为一个模型(表)

    我想合并两个 django 模型并创建单个模型 我们假设 我有第一个表表 A 其中包含一些列和数据 Table A col1 col2 col3 col4 x1 x2 x3 x4 y1 y2 y3 y4 我还有另一个表 Table B 其中
  • 从数据库中删除重复的行

    我需要从数据库中删除重复的行 我可以用简单的sql查询来完成吗 如果没有 请告诉我一些快速算法来做到这一点 Example id field one field two 1 0000000 11111111 2 2222222 333333
  • 使用“NOT IN”的 LINQ to SQL 查询

    可以使用 LINQ to SQL 查询NOT IN 例如 SELECT au lname 声明 FROM 作者 WHERE 声明 NOT IN CA IN MD List
  • 如何将R连接到MySQL?无法连接到数据库:错误:无法加载插件 caching_sha2_password

    我最近在计算机上安装了 MySQL 并尝试将 RStudio 连接到 MySQL 我按照书上的说明以及说明进行操作here http mdsr book github io excerpts mdsr dbadmin pdf 然而 每当我使
  • Doctrine 原始 sql 和准备好的语句

    我有一个使用准备好的语句的 Doctrine RawSql 查询 然而 当生成 SQL 查询时 它们似乎被忽略 但是如果我遗漏了标记值 我会得到一个关于绑定变量数量不匹配的异常 因此它至少尝试将它们分入 如果我内联包含这些值 Doctrin

随机推荐

  • 在哪里放置 OpenFL android 扩展的可绘制资源?

    我正在为我的 OpenFL 应用程序制作一个 android 扩展 当我从 Haxe 调用函数时 它应该显示一条通知 我需要在我的扩展项目中放置一个可绘制图标 因为通知需要一个图标 但是 Java 文件扩展了一个 Extension 类 该
  • SQL 约束最小值/最大值?

    有没有办法为数字字段设置 SQL 约束 最小值应为 1234 最大值应为 4523 SQL Server 语法为the check约束 http technet microsoft com en us library ms179491 as
  • 将自定义误差线添加到 seaborn regplot 和 residplot

    有没有一种方法可以将自定义错误栏添加到seaborn regplot和residplot中 就像使用yerr对matplotlib错误栏所做的那样 例子在这里 如果我只是添加 yrr 参数就会发生错误 import seaborn as s
  • css mime 类型返回为 text/plain 而不是 text/css

    我正在使用此代码从给定文件中获取 mime 类型 finfo new finfo FILEINFO MIME TYPE mime finfo gt buffer file get contents file 如果我给它提供一个 PHP 文件
  • 选择前 n 个字符相等的行(MySQL)

    我有一张带有玩家句柄的桌子 如下所示 1 N Laka 2 N James 3 nor Brian 4 nor John 5 Player 2 6 Spectator 7 N Joe 从那里我想选择第一个 n 字符匹配的所有玩家 但我不知道
  • 将 C++ 库嵌入到 .Net 库中

    在我的 Net 程序集中 我必须使用一些本机 C dll 通常我们需要将C dll复制到bin文件夹中并使用PInvoke来调用它 为了节省分发成本 我想将 C 直接嵌入到我的 Net dll 中 这样分发的程序集数量就会更少 知道如何做到
  • 调用擦除()后 std::map::iterator 出现问题

    erasing from map include
  • 打印 TDBGrid [重复]

    这个问题在这里已经有答案了 如何在不安装或下载组件的情况下打印 DBGrid OR 如何将 DBGrid 的数据放入 RichEdit 以便我可以从那里打印它 数据感知控件从 DataSource 属性获取数据 并使用它 不过 您必须手动遍
  • 导入 matplotlib.pyplot 时出错

    当我跑步时import matplotlib pyplot as plt 我收到以下错误消息 ImportError Traceback most recent call last
  • Apache kafka - 消费者延迟选项

    我想在 Kafka 中为特定主题稍稍延迟启动一个消费者 具体来说 我希望消费者在从生成消息的时间起经过特定的时间延迟后开始使用该主题的消息 Kafka 中有任何属性或选项可以启用它吗 我们对火花流做了同样的事情 我希望 这种方法也适合您 这
  • 在 DatePickerDialog 中使用 DatePicker setMaxDate() 时出现 NullPointerException

    我正在使用 DatePickerDialog 并且尝试设置最小和最大日期 以便用户只能选择前 24 小时或后 24 小时内的日期 这是代码 请注意 如果在 Android 3 0 或更高版本上运行 它只会尝试设置最小 最大范围 privat
  • 从 markdown 转换为 pandoc 时的 \newcommand 环境

    我使用 ipython 笔记本输入数学 然后转换为乳胶 让 mathjax 理解 newcommand 我必须把它放进去 例如 newcommand cl operatorname cl 与 mathjax 配合良好 问题是 当我使用 pa
  • 如何通过 Android 中小部件上的按钮运行活动?

    我正在开发一个由按钮组成的切换小部件 当按下时 我希望它运行一个活动而不打开任何东西 只是像往常一样在桌面上说 有没有办法通过桌面小部件上的按钮直接运行活动 谢谢 更新 现在我尝试在代码中切换静默模式而不运行新的活动 这是我当前的代码 当我
  • Rust 为什么要费心“let”? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我对 Rust 很感兴趣 所以我开始阅读 Rust 网站上的 Rust 编程指南 发现变量是通过以下方式声明的 let x i32 5 这意味着
  • Linux 中的无缓冲 I/O

    我正在写入大量的数据 这些数据数周内都不会再次读取 由于我的程序运行 机器上的可用内存量 显示为 空闲 或 顶部 很快下降 我的内存量应用程序使用量不会增加 其他进程使用的内存量也不会增加 这让我相信内存正在被文件系统缓存消耗 因为我不打算
  • 循环中的 let 语句在 IE 中无法按预期工作

    我正在尝试 ECMAScript 6 中的一些示例 与其他浏览器相比 它的工作方式有所不同 这返回true在 Firefox 中 但它返回false在IE中 为什么这在 Internet Explorer 中的工作方式有所不同 let ca
  • Anaconda - 箭头键在 python shell 中不能正常工作

    I installed Anaconda3 on manjaro with i3wm and Urxvt When I go into python interpreter it is OK to type python script an
  • Select2 有 10.000 多个元素时打开速度很慢

    我正在使用 Select2 来填充下拉菜单 Select2如果底层选择有相当数量的项目 则打开下拉菜单时会很慢 我的下拉列表中有超过 10 000 个元素 这是我的代码 ajax url Companies GetCompanies met
  • 有没有办法在 CMake 配置中禁止“实验性”C++17?

    我在 CMakeLists txt 中设置了以下内容 set CMAKE CXX STANDARD 17 set CMAKE CXX STANDARD REQUIRED ON set CMAKE CXX EXTENSIONS OFF 然而
  • MySQL LIKE %string% 不够宽容。我还有什么可以用的吗?

    我有一位客户询问他们的搜索是否可以搜索公司名称 这些名称可以根据用户输入以多种格式进行搜索 例如数据库中存储的公司是 A J R Kelly Ltd 如果用户搜索 一个 J R Kelly 被发现 使用