python判断长字符串关键字的方法,python字符串关键字,一个数据库表中含有一系列
python判断长字符串关键字的方法,python字符串关键字,一个数据库表中含有一系列
一个数据库表中含有一系列的关键字,现在传入一字符串,如何高效的判断数据表中哪些关键字在这个字符串中。
只是一个简单的数据表 包括两个字段 关键字 和 关键字的描述
数据表只有几千条数据 字符串是一句话,包含中文和英文字符,为的是提高查询效率
省事点用 sqlite fts4 全文索引好了,这样可以一条字段存入多条关键字,
查询时给句子拆分下加入 OR 语法,select 用下 snippet 函数得到匹配的关键字。
把数据存到 sqlite fts4 全文索引表(sqlite 有在 python 标准库里不需要其他依赖,可以用内存数据库),fts4 默认会按标点和空格分词,所以处理中文时预先插入空格就没问题(插入 \r 之类也行)。
如果要求判断子字符串而不是按单词判断,存入数据时先用空格把字母和字符逐个隔开,查询时也逐个隔开并加上适当引号和 * 号,
而如果是想分词却担心有黄词漏网的话,存入数据和查询句子都用二元分词就可以了。
跟python无关,你需要的是AC自动机算法(多模式串匹配)。
而如果是要实现搜索,那么实际上应当使用倒排索引,才能达到最优的效果。
编橙之家文章,
相关内容
- ansible批量部署全局命令如何实现,ansible部署全局,刚接
- 谁能帮我解释下这段python源码中logging的作用是什么?,
- Python大级别数运算问题,python级别运算,用hashlib.sha
- 求实现Python脚本判断中文字符是否为同一姓名思路方法
- Python SQLAlchemy定义触发器、存储过程是怎样实现的,p
- 没有编程基础能学好python语言吗,编程基础python,没有任
- flask调试不开httpserver提供静态文件应该怎么操作,fla
- 请问一个窗口内可以运行python多个线程吗?,一个窗口
- Python方法将前端获取二进制上传到upyun方法,求大神赐教
- Python attrs作用是什么?,pythonattrs作用是,from rest_fr
评论关闭