python中的布尔文本搜索

Ber*_*ala 9 python full-text-search boolean

我正在寻找一个现有的模块,它使我能够编写基本的布尔查询来匹配和搜索文本,而无需编写自己的解析器等.

例如,

president AND (ronald OR (george NOT bush))
Run Code Online (Sandbox Code Playgroud)

将与"总统罗纳德·拉根""总统罗纳德·拉根和布什"相提并论"最大布什不是总统"

但是"乔治·布什总统"是假的"我不知道如何拼写罗纳德·拉根"

(到目前为止,我发现Booleano,这似乎有点矫枉过正,但可以完成任务.但是他们的小组是不活跃的,我无法从文档中弄清楚该怎么做.)

谢谢

编辑:确切的样式或语法并不重要.我的目标是为非技术用户提供搜索某些文本而不是关键字搜索的能力.

Ker*_*han 7

免责声明:我是下面介绍的包的创建者。

对于可能访问此页面的人:我构建了一个包来做到这一点(仍处于测试阶段)。

pip install eldar
Run Code Online (Sandbox Code Playgroud)

您的查询将被翻译成以下代码:

pip install eldar
Run Code Online (Sandbox Code Playgroud)

您也可以在一些 Pandas 数据帧上使用它,查看 git 页面了解更多信息:https : //github.com/kerighan/eldar