python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-Mysql分词检索实现

锋哥原创的Springboot+Layui python222网站实战:

python222网站实战课程视频教程(SpringBoot+Python爬虫实战) ( 火爆连载更新中... )_哔哩哔哩_bilibilipython222网站实战课程视频教程(SpringBoot+Python爬虫实战) ( 火爆连载更新中... )共计23条视频,包括:python222网站实战课程视频教程(SpringBoot+Python爬虫实战) ( 火爆连载更新中... )、第2讲 架构搭建实现、第3讲 页面系统属性动态化设计实现等,UP主更多精彩视频,请关注UP账号。icon-default.png?t=N7T8https://www.bilibili.com/video/BV1yX4y1a7qM/MySQL支持全文索引和搜索:

  MySQL中的全文索引是FULLTEXT类型的索引。

  全文索引只能用于InnoDB或MyISAM表,并且只能为CHAR、VARCHAR或TEXT列创建。

  MySQL5.7提供了一个内置的全文ngram解析器,支持中文,日文和韩文(CJK),以及一个可安装的MeCab日文全文解析器插件。

  FULLTEXT索引定义可以在创建表时在CREATE TABLE语句中给出,也可以稍后使用ALTER TABLE或CREATE INDEX添加。

  对于大型数据集,将数据加载到一个没有FULLTEXT索引的表中,然后在此之后创建索引,比将数据加载到一个已有FULLTEXT索引的表中要快得多。

-- 创建全文索引
CREATE FULLTEXT INDEX ft_title ON t_article (title) WITH PARSER ngram

mybatis-plus支持实现全文检索

ArticleMapper加个方法:

/**
 *  根据检索字符串进行全文检索
 *  

* 全文检索包含字段:title *

* @param page * @param queryStr * @return */ IPage
queryFulltext(Page
page, @Param("queryStr") String queryStr);

ArticleMapper.xml加下方法实现:


ArticleService加下:

IPage
queryFulltext(Page
page, @Param("queryStr") String queryStr);

ArticleServiceImpl实现:

@Autowired
private ArticleMapper articleMapper;

@Override
public IPage
queryFulltext(Page
page, String queryStr) { return articleMapper.queryFulltext(page,queryStr); }

IndexController.java加下:

/**
 * 根据关键字分词检索
 *
 * @param keyWord
 * @return
 */
@RequestMapping("/search/{page}")
public ModelAndView search(String keyWord, @PathVariable(value = "page", required = false) Integer page) {
    ModelAndView mav = new ModelAndView();
    if (StringUtil.isEmpty(keyWord)) {
        return this.index();
    }
    Page
pageArticle = new Page
(page, 10); IPage
pageResult = articleService.queryFulltext(pageArticle, keyWord); mav.setViewName("search"); mav.addObject("keyWord", keyWord); mav.addObject("articleList", pageResult.getRecords()); mav.addObject("pageCode", PageUtil.genPagination("/search", pageResult.getTotal(), page, 10, "?keyWord=" + keyWord)); return mav; }

模版search.html:




    
    
    
    
    
    
    
    
    




热门帖子推荐

热门标签推荐

menu.html加下回显。

python222网站实战(SpringBoot+SpringSecurity+MybatisPlus+thymeleaf+layui)-Mysql分词检索实现_第1张图片

你可能感兴趣的:(java,spring,boot,layui,后端)