mysql 使用like进行模糊查询
mysql为什么不做索引?
索引的适用场景:数值型,字符串类型的全文比较,但在like中进行全文索引,索引将失效。而且还会进行全文的扫描。
随着数据的增加,就会引入分布式架构,就是使用分库分表。
搜索的业务场景是一种模糊匹配,并不知道用户将要输入什么样的字符,所以没有办法具体单库节点的准确映射。
mysql 依然不适合搜索 索引fulltext虽然支持 但是速度依然不是很快 会引起全表扫描。
must 和should区别
POST person/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "qw"
}
},
{
"match": {
"age": "13"
}
}
]
}
}
}
CREATE TABLE `t_blog` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增ID',
`title` varchar(60) DEFAULT NULL COMMENT '博客标题',
`author` varchar(60) DEFAULT NULL COMMENT '博客作者',
`content` mediumtext COMMENT '博客内容',
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
`update_time` datetime DEFAULT NULL COMMENT '更新时间'
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4;