首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当你搜索字符串的中间而不是开头时,它叫什么?

当你搜索字符串的中间而不是开头时,它叫什么?
EN

Database Administration用户
提问于 2017-10-04 14:38:53
回答 2查看 2.7K关注 0票数 20

我正在努力完善我的词汇量,以便更好地与我的同事们交流。我们在站点中有几个地方,我们正在讨论是否应该从字符串'running%'和字符串'%running%中的任何位置搜索字符串。

我一直把中间搜索称为“模糊”,我意识到这是不正确的,因为模糊意味着改变单词"run“、"runing”碳化硅、"runed“碳化硅的形式。

搜索字符串的开头和中间的正确术语是什么?

EN

回答 2

Database Administration用户

发布于 2017-10-04 18:54:26

我首先想到的是“un-萨盖博”。在索引字段中搜索特定字符串或字符串的第一部分允许您查找。如果您的搜索以通配符开始,RDBMS将必须扫描整个索引,因为满足搜索谓词的值可能出现在值集中的任何位置。

考虑看一本电话簿(如果你大到可以记住这些.)。你可以很容易地找到那些姓以“DAN”开头的人:你拇指指向D,前翻到DAs,然后丹-一些东西会在一起。如果您想找到姓包括字符串"ANIEL“的人,您必须阅读每一页(扫描表)。

票数 1
EN

Database Administration用户

发布于 2017-10-06 09:43:08

这不是你的问题,但你的例子模糊是不准确的。

  • 模糊是锐利,二进制的相反,这意味着你可以有一个百分比的匹配,例如,在精确的'run'模糊搜索.5将包括'ran','rud',和许多其他词。SQL不支持模糊搜索,您需要其他系统,如Lucene。
  • 'run%'的通配符搜索将始终包括'runing‘和'runed',并且您可以像@所罗门·鲁茨基建议的那样区分开始和包含('%run%'包括'outrunning')。
  • 但是,如果您想要找到完整的单词,例如在文本块中,则需要指示前面或后面的空白' run ' (或' run% '以包含部分匹配,例如“bla bla runing bla”和“bla runed bla bla”)。
票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/187658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档