pycharm实现基于mysql关键词检索问题

pycharm实现基于mysql关键词检索问题       后端是使用pycharm写的       单个关键词的检索实现如下:defadProQuery(): content=request.form.get(‘ad_proSearch’)#需要查询的内容ifcontentisNone:content=””pros=Cy_regist.query.f

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

       后端是使用pycharm写的
       单个关键词的检索实现如下:

def adProQuery():
	content = request.form.get('ad_proSearch')#需要查询的内容
    if content is None:
        content = ""
    pros = Cy_regist.query.filter(or_(Cy_regist.user_name.like("%" + content + "%")if content is not None else "",
                                  Cy_regist.user_title.like("%" + content + "%")if content is not None else "")).all()
    return render_template('ad_pro_management.html', pros=pros)

       以上代码是从前端通过request获取到搜索框输入的内容content,然后用要查的这个类去调用检索方法,使用like进行模糊匹配,or实现一个关键词在多个字段的检索。

       那么,从前端通过request获取到搜索框输入的内容,这个内容是多个关键词的检索,以空格隔开的输入,那么后台想要拿到这些数据并依次去mysql数据库中做模糊匹配怎么实现呢?

       我了解到实现的思路是:通过空格,把多个关键词分开,放到一个列表里,然后循环的去各个字段使用like做模糊匹配。

       要想分开多个关键词,就想到了使用split()方法,但是 获取到的数据是不能直接使用这个方法的,会报错:AttributeError: ‘NoneType’ object has no attribute ‘split’
不知道该如何解决这个问题,也没有查到具体相关的解决办法。

       另外,我想知道这样做效率是不是很低,不应该这么做,或者有更好的办法能够实现多关键词的全文检索,推荐的检索引擎之类

       不知道我有没有表述清楚我的问题~还请各位前辈多多指教!
       欢迎评论区一起交流学习~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/175339.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • word在试图打开文件时遇到错误[通俗易懂]

    word在试图打开文件时遇到错误[通俗易懂]昨天晚上在台式机上写了个word文档,发到邮箱。今天在邮箱上下载后就打不开了,出现“word在试图打开文件时遇到错误”。让人很郁闷,因为两台电脑上装的都是word2016.。。。看到网上说的是用WPS打开,之后再另存为,可是我早已没有了WPS。突然灵光一现,我点击了该文档的属性:有个解除锁定,我在上面划勾,点击确定后,再次打开,竟然就打开了~~~~开心~20170825周

    2022年4月28日
    83
  • Raid0、 Raid1、 Raid5、 Raid10的原理、特点、性能区别[通俗易懂]

    Raid0、 Raid1、 Raid5、 Raid10的原理、特点、性能区别[通俗易懂]一、RAID是什么?RAID(RedundantArrayofIndependentDisks)即独立磁盘冗余阵列,简称为「磁盘阵列」,其实就是用多个独立的磁盘组成在一起形成一个大的磁盘系统,从而实现比单块磁盘更好的存储性能和更高的可靠性。二、RAID有哪些?RAID方案常见的可以分为:RAID0 RAID1 RAID5 RAID6 RAID10下面来分别介绍一下。Raid0:至少需要两块硬盘,磁盘越多,读写速度越快,没有冗余。Raid1:只能用两块硬

    2022年7月25日
    22
  • java list高效去重_简述Java List去重五种方法「建议收藏」

    java list高效去重_简述Java List去重五种方法「建议收藏」搜索热词前言去重,对于很多场合必不可少。写此篇文章是因为在之前做某个画面中,我在数据库中进行Distinct和OrderBy去重,发现影响效率,故此在后台先做去重处理;所以记录此文,已做参考:Num1:使用java8新特性stream进行List去重publicstaticvoidmain(String[]args){Listlist=newArrayList();li…

    2022年5月25日
    51
  • 数人云|优势+工具+实践=DevOps&Docker的企业级落地

    数人云|优势+工具+实践=DevOps&Docker的企业级落地

    2022年3月5日
    40
  • java根据经纬度计算距离_java根据高德经纬度获取地区

    java根据经纬度计算距离_java根据高德经纬度获取地区前一阵项目中,有一个需求:是查找附近的人,其实就是查询某个距离内有多少用户。实现方式还是比较简单的,首先用户在APP上开启定位权限,将自己的经纬度都存储到数据库,然后以此经纬度为基准,以特定距离为半径,查找此半径内的所有用户。那么,如何java如何计算两个经纬度之间的距离呢?有两种方法,误差都在接受范围之内。1、基于googleMap中的算法得到两经纬度之间的距离,计算精度与谷歌地图的距离精度差不…

    2022年9月23日
    4
  • Mac JetBrains全家桶软件激活码_最新在线免费激活[通俗易懂]

    (Mac JetBrains全家桶软件激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~00OE…

    2022年3月30日
    469

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号