当前位置: 首页 > 知识库问答 >
问题:

mysql - 一个字段需要进行模糊查询,但是不一定满足最左匹配原则(like ‘XXX%’),怎么解决这种业务?

左丘弘致
2023-07-06

任何技术方法都可以,给个方案就好。
除了全文索引,还能怎样?

共有4个答案

戚英逸
2023-07-06

根据你的数据量看情况选择吧.
要是数据量不大, 直接用 Like就行.

大一点可以用mysql的fulltext, 如果是中文可以用 ngram分词, 这个分词不是太好, 勉强能用.

再大的话, 就把数据用logstash导到 elasticsearch中, 然后搜es, 中文分词有个叫结巴分词的.

燕寒
2023-07-06

你说的是分词器吧?es 可以解决

尉迟栋
2023-07-06

你的问题具体是要得到什么结论?是讨论模糊匹配原则?那 like '%xxx%'就可以满足,还是讨论搜索效率的问题?

景昊焜
2023-07-06

mysql、pgsql 自带倒排索引,像 elasticsearch 一样

当然,「全文索引」就是用 「倒排索引」 实现的

除了全文索引,还能怎样?—— 无,获取你导到 elasticsearch 去,用 elasticsearch 搜索

 类似资料:
  • 问题: 我已经在lucene索引中索引了NGA Geonames地名录。我需要模糊查询一个字段(地名),但将查询限制为具有特定国家代码的记录。下面是我正在运行的一个示例查询 我没有使用SOLR,我已经做了大量的研究和尝试,但我没有明确的答案,可能是我的速度太慢了。 我想对印度进行模糊搜索,但我只想要与“in”(国家代码)完全匹配的记录

  • 本文向大家介绍解决一个pandas执行模糊查询sql的坑,包括了解决一个pandas执行模糊查询sql的坑的使用技巧和注意事项,需要的朋友参考一下 查询引擎使用了presto,在sql中使用了模糊查询。 一直报错: unsupported format character 解决方案 第一: 第二: 补充:pd.read_sql()知道这些就够用了 如下: 各参数意义 sql:SQL命令字符串 co

  • 本文向大家介绍Mysql| 使用通配符进行模糊查询详解(like,%,_),包括了Mysql| 使用通配符进行模糊查询详解(like,%,_)的使用技巧和注意事项,需要的朋友参考一下 通配符的分类: %百分号通配符: 表示任何字符出现任意次数 (可以是0次). _下划线通配符:表示只能匹配单个字符,不能多也不能少,就是一个字符. like操作符: LIKE作用是指示mysql后面的搜索模式是利用通

  • 本文向大家介绍Mybatis多个字段模糊匹配同一个值的案例,包括了Mybatis多个字段模糊匹配同一个值的案例的使用技巧和注意事项,需要的朋友参考一下 需求: 搜索框中可输入手机号,姓名,地址查询,后台需要对一个框中的多个字段做匹配查询。 搜索 可以在sql语句中做拼接条件查询: 补充知识:在Mybatis xml使用mysql数据库进行多字段模糊查询(Like) 在mysql中使用Like进行一

  • 本文向大家介绍thinkPHP实现多字段模糊匹配查询的方法,包括了thinkPHP实现多字段模糊匹配查询的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkPHP实现多字段模糊匹配查询的方法。分享给大家供大家参考,具体如下: 引言:有时候查询要匹配多个字段。比如查询地址,地址是由多个字段组成的。有省、市、区等等,以及详细地址。这个时候如何查询呢? 实现不同字段相同的查询条件 用

  • 问题内容: 我将不胜感激创建此查询的任何帮助。我尝试了好几种方法,但都没有碰到运气。由于我的问题很难表达,因此我将举一个我想做的简单例子。我的数据在结构上类似于以下内容: 如果我有两种特定颜色的ID,我想创建一个查询以返回类型。例如,我想查找所有具有蓝色和红色的ID。然后查询将返回: A和B的返回顺序并不重要。数据集很大,我希望有许多ID可以同时满足这两个条件(也许是50,000个左右)。我要指出