使用索引搜索相似的单词

2024-01-09

我需要使用某种模糊搜索(例如来自 Oracle 的模糊搜索)并使用索引来搜索数据库表,因为我不需要表扫描(有大量数据)。

我想忽略大小写、语言特殊内容(ñ、ß、...)和特殊字符,如 _、()、- 等...

搜索“maria (cool)”应该得到“maria- COOL”和“María_Cool”作为匹配项。
在 Oracle 中这可能以某种方式实现吗?

关于这种情况,我认为可以解决直接以小写创建索引并始终以小写搜索的问题。但我不知道如何解决特殊字符的问题。
我考虑过将没有特殊字符的数据存储在单独的列中,然后搜索返回真实的数据,但我不能 100% 确定这是完美的解决方案。

有任何想法吗?


Maybe UTL_匹配 http://docs.oracle.com/cd/E11882_01/appdev.112/e25788/u_match.htm可以帮助。

但是您也可以创建基于函数的索引,例如:

regexp_replace(your_column, '[^0-9a-zA-Z]+', ' ')

并尝试像这样匹配:

...
WHERE regexp_replace(your_column, '[^0-9a-zA-Z]+', ' ') = 
      regexp_replace('maria (cool)' , '[^0-9a-zA-Z]+', ' ')

这是一个 sqlfiddle 演示 http://www.sqlfiddle.com/#!4/1ac2c/3它并不完整,但可以作为一个开始

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

使用索引搜索相似的单词 的相关文章

随机推荐

  • 实体框架:重新查找最近添加到上下文中的对象

    我正在使用实体框架 并且在 重新查找 我刚刚创建的对象时遇到问题 基本上是这样的 string theId someId private void Test using MyEntities entities new MyEntities
  • 表达 res.download()

    我不知道为什么会这样 但这真的很烦人 我预计该文件将根据快速文档 https expressjs com en api html res download 我有下一个代码 in react App js download gt const
  • 在 PowerShell 中打开所选应用程序中的文件

    我想使用 PowerShell 中的 cmdln 和特定应用程序打开一个文件 就我而言 我有一个文件scripts js我想打开它Notepad 但通常会定期开放notepad exe如果我这样做 Invoke Item scripts j
  • 基类不包含无参数构造函数?

    我通过删除一些空的构造函数来使我的构造函数更加严格 我对继承还很陌生 并且对我得到的错误感到困惑 基类不包含无参数构造函数 如何让 A2 继承 A 而 A 中没有空构造函数 另外 根据我个人的理解 为什么 A2 需要 A 的空构造函数 Cl
  • 在 jspdf.debug.js 中哪里可以更改默认的 pdf 页面宽度和字体大小?

    我需要更改默认 pdf 页面宽度和字体大小在 jspdf debug js 中 在哪里以及如何更改 jspdf debug js 中的默认值 除了使用默认格式之一之外 您还可以以指定的单位指定任何大小 例如 Document of 210m
  • “!!”有什么用? (否定两次)? [复制]

    这个问题在这里已经有答案了 可能的重复 C 代码中的双重否定 https stackoverflow com questions 248693 double negation in c code 比方说 bool var true 它将为变
  • 什么是http多部分请求?

    我编写iPhone应用程序已经有一段时间了 向服务器发送数据 接收数据 通过HTTP协议 没有考虑太多 大多数情况下 我理论上熟悉流程 但我不太熟悉的部分是 HTTP 多部分请求 我知道它的基本结构 但我不知道它的核心 似乎每当我发送非纯文
  • Android Bitmap保存没有透明区域

    我想保存没有透明区域的位图 位图具有大的透明像素 所以我想删除它 我怎样才能做到这一点 我无法添加图片 所以用符号解释 我不想裁剪功能 我希望使用过滤器 透明区域 裁剪这个 要查找位图的非透明区域 请在 x 和 y 中迭代位图并查找非透明区
  • 游戏开发中处理战斗效果

    我正在尝试为我正在修改的个人项目的游戏制定高级技术规范 这是一款可能最接近的回合制冒险游戏Archon http en wikipedia org wiki Archon computer game 就我想做的事情而言 我遇到的麻烦是概念化
  • webkit 浏览器获取 elements.width() 错误

    我正在尝试获得容器的正确计算宽度 所有浏览器都能正确计算出宽度 甚至 IE 但令人惊讶的是 Chrome 和 webKit 浏览器也获得了有线号码 我正在尝试获取总宽度 li 包括它的边框和填充 它的右边距 然后乘以长度 li li 以获得
  • 使用 UIDocumentPickerViewController 在 Swift 中导入文本

    我目前正在学习 iOS 开发课程 作为我项目的一部分 我的任务是使用UIDocumentPickerViewController导入文本 我发现的每个例子要么 a 用 Objective C 编写 要么 b 用于导入UIImage file
  • 在 Clojure 中将“map”与不同大小的集合一起使用

    我想了解在 clojure 中操作不同大小的集合的惯用方式 有没有办法告诉函数 map 用一些默认值填充集合的其余部分 举个例子 假设我有 3 个向量 def x 1 2 3 4 def y 1 2 3 4 5 def z 1 2 3 4
  • 根据选择器中选择的应用程序为 ACTION_SEND 意图设置不同的文本[重复]

    这个问题在这里已经有答案了 如何设置不同的内容 不同的文本 图像 无图像 ACTION SEND意图 基本上我想要电子邮件的长文本和图像 Facebook 的长文本和 Twitter 的短文本 我知道这个问题 https stackover
  • Excel:如果满足条件,则从范围内进行 TEXTJOIN

    我在 Excel 中遇到了一个问题 但我不知道如何解决 上图中有两个表 表 1 列出了个人之间交换的礼物 并标明了赠送者和接受者 我使用 礼物 和 人 是为了更容易在这里讨论 实际上 这些是交换控制信号的设备 这张表可能有数百行长 表 2
  • 正则表达式查找仅包含一个斜杠的 URL

    我正在测试一个网站 需要使用正则表达式来定位我想要包含在测试中的页面 我将仅定位 URL 中都有一个斜杠的产品页面 URL 不显示http 在他们中 以下是我需要匹配的 URL 我想要的看起来像这样 www example com just
  • 如何获取 NSRunningApplication 的参数?

    如何获取启动期间使用的参数列表NSRunningApplication 类似于我跑步时看到的ps aux let workspace NSWorkspace shared let applications workspace running
  • 使用 importlib.util 检查库时出错

    我正在尝试使用 importlib 库来验证 nmap 库是否安装在执行 Python 3 5 2 中的脚本的计算机上 我正在尝试使用importlib util find spec nmap 但收到以下错误 gt gt gt import
  • 鼠标悬停在按钮上的问题

    我正在使用 Twitter Bootstrap 当我将鼠标悬停在btn primary button 这是我的代码 div class navbar navbar fixed top div class navbar inner div c
  • 如何使用c#检查xml文件是否为空

    大家好 我想检查我的 xml 文件是否为空 我正在尝试将一个 xml 数据更新为另一个 为此我正在使用以下代码 现在请告诉我如何检查我的 xml 文件是否有数据 这是我用来更新 xml 文件的代码 protected void CheckU
  • 使用索引搜索相似的单词

    我需要使用某种模糊搜索 例如来自 Oracle 的模糊搜索 并使用索引来搜索数据库表 因为我不需要表扫描 有大量数据 我想忽略大小写 语言特殊内容 和特殊字符 如 等 搜索 maria cool 应该得到 maria COOL 和 Mar