最新学长要求实现一个搜索的功能呢,也费了一点功夫。这个案例也没有学长写的好,比学长的实现差了不少,待我仔细研究习再发出相应代码

 

项目要求,搜索语法如下:

titile: xxx #搜索titile的所有作品

name:hello #搜索name中hello`两个字的
 
同时支持直接搜索,包括直接搜索如: `bacd`
 
如果按照我的思路来写,这个写着并不难。用replace实现就好了
 
列如前端有个name 属性设置为search_name
 
那么我们可以直接是
先用get方法拿到这个前端传过来的数据,然后再进行修改数据。
例如拿到的是title:abcd
按照我的思路,我们先做的是先判断是否是这个数据是title还是name,这里面当然就是一个If啦。实现的时候应该是if title in serch_name : xxx,下面两个if用if name in search_name ,这样判断完成之后,我们再进行分类判断啦。例如如果是title, 那么我们可以判断title后面的冒号(:)是中文还是英文。如果是中文,那么应该是先把这个字段用replace给替换掉不就可以了
 
 
那么我们剩下只需要对bacd操作就好了啊,就不需要再对其他的进行操作了。我们利用sqlachemy操作,就回到了我们常规的获得数据的常规思路

--------------------------------------------------------分割线------------------------------------------------------------------------------------------------

看了一段时间学长的思路,还是学会了不少东西,说下学长的思路。

用spilt元素进行分割,比如依旧传入的是title:abcd。

那么我们还可以用spilt进行拿出title里面的数据,打个例子:a = "title:abcd"。那么我们剩下的用b = a.spilt(":")[1]可以拿出abcd。这样我们又是一种不一样的思路。

具体两个中的算法复杂度还没有研究过,仔细研究研究再写上

 

最新文章

  1. 五步掌握OOM框架AutoMapper基本使用
  2. js获取url以及截取后边所带参数
  3. Java基础-服务器的发送和接收
  4. React Native – 使用 JavaScript 开发原生应用
  5. Linux 线程 条件变量
  6. 初步C++运算符重载学习笔记<3> 增量递减运算符重载
  7. web—URL不同形式地址的问题
  8. Tomcat的安装与配置
  9. java中的final和volatile详解
  10. Prometheus安装和配置node_exporter监控主机
  11. Node——服务器上安装Node.js
  12. ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies (打表找规律+快速幂)
  13. 第三个spring冲刺总结(附团队贡献分)
  14. JavaSE学习总结(十八)—— 多线程
  15. Spring4 mvc+maven 框架搭建(1)
  16. Map集合框架的练习
  17. [转]Oracle中trace的几种
  18. 关于"undefined reference"错误
  19. HDUOJ----1181 变形课
  20. Spring Boot返回json数据及完美使用FastJson解析Json数据

热门文章

  1. 这些C++基础知识的基础知识你都学会了吗?
  2. netfilter 的扩展功能 helper tftp-nat
  3. linux后台开发常用调试工具
  4. wait函数与waitpid函数(僵尸进程)
  5. 配置Ceph的IPV6集群
  6. 解决Ubuntu配置nginx出现的问题
  7. php批量转换时间戳
  8. centos8 mysql8遇到的问题
  9. 在线思维导图Ayoa有哪些比较好用的功能
  10. 企业级LINUX自动化运维工具Ansible实战课程下载