Python中的布尔文本搜索

eldar的Python项目详细描述


使用Eldar的布尔文本搜索

入门

这些说明将为您提供一个项目的副本,并在本地计算机上运行,以便进行开发和测试。在

先决条件

  • 单解码

安装

可以通过键入以下命令安装该方法:

pip install unidecode -U
pip install eldar

基本用法

^{pr2}$

您还可以使用它来屏蔽Pandas数据帧:

fromeldarimportbuild_queryimportpandasaspd# build dataframedf=pd.DataFrame(["Gandalf is a fictional character in Tolkien's The Lord of the Rings","Frodo is the main character in The Lord of the Rings","Ian McKellen interpreted Gandalf in Peter Jackson's movies","Elijah Wood was cast as Frodo Baggins in Jackson's adaptation","The Lord of the Rings is an epic fantasy novel by J. R. R. Tolkien"],columns=['content'])# build query objecteldar=build_query('("gandalf" OR "frodo") AND NOT ("movie" OR "adaptation")')# eldar's call returns True if the text matches the query.# You can filter a dataframe using pandas mask syntax:df=df[df.content.apply(eldar)]print(df)

参数

在查询生成器中可以调整三个参数。 默认情况下:

Query(...,ignore_case=True,ignore_accent=True,match_word=True)

让查询为query = '"movie"'

  • 如果ignore_case为真,则文档“Movie”和“Movie”将匹配。如果为False,则只匹配“movie”。在
  • 如果ignore_accent为真,则将匹配文档“mövie”。在
  • 如果match_word为真,则文档将被标记化,并且查询项必须完全匹配。如果设置为False,将匹配文档“movies”和“movie”。将此选项设置为True可能会减慢查询速度。在

作者

陈内保先生

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在数据库中存储密码的java加密方法   java正则表达式否定整个正则表达式   java为什么要得到这个Hashmap输出?   看不到玻璃鱼爪哇SE 6   类对象包装器中的Java基本数据字段   java从文本文件中读取整数并存储到单独的变量中?(扫描仪)   优化大型Java数据阵列的处理和管理   如何使用Java XML包装类创建对象   java为ExecutorService invokeAll()创建包装器   java如何在Android Studio 1.0.0中设置Facebook SDK?获取SDK位置未找到错误   java在尝试从线程启动动画时调用了FromErrorThreadException   java根据哈希确认文件内容   通过java在neo4j中获取索引值相同的所有节点?   java为什么我的Validare邮政编码(布尔)程序返回false?   java会话自动从servlet/jsp生成,尽管存在以下条件:<%@page session=“false”%>   创建新LANsocket时拒绝java连接   java如何多线程更新由sql代码更新的数据库?   安卓 Java使用类作为集合来添加项   安卓为什么我的清单文件不声明java包?