6 个回答

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

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

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

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

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

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

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

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

新手上路,请多包涵

在不满足最左匹配原则的情况下,可以使用正则表达式(regex)来进行模糊查询。通过正则表达式可以灵活匹配字段中包含某个字符串的值。

例如,假设要模糊查询姓名字段中包含"张"的记录,可以使用正则表达式"张"来进行匹配。具体的SQL语句可以如下:

SELECT * FROM 表名 WHERE 姓名 REGEXP '张';

这样就可以查询到姓名字段中包含"张"的记录,不需要满足最左匹配原则。

需要注意的是,使用正则表达式进行模糊查询可能会影响查询性能,特别是对于大量数据的表。在实际业务中,可以根据数据量的大小来评估是否适合使用正则表达式进行模糊查询,以及是否需要添加索引来提升查询效率。

内容取反在存储在另一个字段模糊搜索的时候两个字段一起?不知道这样可行不。这样效率应该会快一点。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏