玩蛇网提供最新Python编程技术信息以及Python资源下载!

python判断长字符串关键字的方法

一个数据库表中含有一系列的关键字,现在传入一字符串,如何高效的判断数据表中哪些关键字在这个字符串中。
只是一个简单的数据表 包括两个字段 关键字 和 关键字的描述
数据表只有几千条数据 字符串是一句话,包含中文和英文字符,为的是提高查询效率

省事点用 sqlite fts4 全文索引好了,这样可以一条字段存入多条关键字,
查询时给句子拆分下加入 OR 语法,select 用下 snippet 函数得到匹配的关键字。

把数据存到 sqlite fts4 全文索引表(sqlite 有在 python 标准库里不需要其他依赖,可以用内存数据库),fts4 默认会按标点和空格分词,所以处理中文时预先插入空格就没问题(插入 \r 之类也行)。

如果要求判断子字符串而不是按单词判断,存入数据时先用空格把字母和字符逐个隔开,查询时也逐个隔开并加上适当引号和 * 号,

而如果是想分词却担心有黄词漏网的话,存入数据和查询句子都用二元分词就可以了。

跟python无关,你需要的是AC自动机算法(多模式串匹配)。

而如果是要实现搜索,那么实际上应当使用倒排索引,才能达到最优的效果。

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd20408.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月18日 - 19时27分35秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules