跳转到主要内容

使用PostgreSQL trigram扩展进行模糊搜索

项目描述

Beta License: AGPL-3 OCA/server-tools Translate me on Weblate Try me on Runbot

此插件提供创建char和text字段的GIN或GiST索引的能力,并且可以在搜索域中使用搜索运算符%。目前此模块不更改后端搜索或其他内容。它只提供对外部插件执行模糊搜索的可能性。

目录

安装

  1. PostgreSQL扩展pg_trgm应可用。在基于debian的发行版中,您必须安装postgresql-contrib模块。

  2. pg_trgm扩展安装到您的数据库或授予您的postgresql用户SUPERUSER权限(这允许odoo模块将扩展安装到数据库)。

配置

如果已安装odoo模块

  1. 您可以通过“设置 -> 数据库结构 -> 三元索引”定义char和text的GIN和GiST索引。新条目将自动创建索引名称。

使用

  1. 您可以创建用于res.partner的name字段的索引。

  2. 在搜索中,您可以

    self.env['res.partner'].search([('name', '%', 'Jon Miller)])

  3. 在此示例中,该函数将为John MillerJohn Mill返回阳性结果。

  4. 您可以通过调整设置限制(默认:0.3)来调整返回字符串的数量。注意:目前您必须通过执行以下SQL语句来设置限制

    self.env.cr.execute("SELECT set_limit(0.2);")

如有进一步问题,请参阅pg_trgm模块的文档。

使用示例数据

如果处于演示数据库中,有一些示例数据允许您测试该模块的功能。步骤如下

  1. 前往联系人,在搜索框中输入文本Jon SmithSmith John,然后选择搜索显示名称为:…

  2. 您将看到两个联系人,它们的显示名称分别是John SmithJohn Smizz

已知问题/路线图

  • 修改通用搜索部分(例如,在树形视图或多对一字段中)

  • 添加更好的order by处理

错误追踪器

错误在GitHub Issues上跟踪。如果在那里没有报告您的问题,请检查。如果您是第一个发现它的人,请通过提供详细且受欢迎的反馈来帮助我们解决它。

请不要直接联系贡献者以获取支持或技术问题帮助。

鸣谢

作者

  • bloopark systems GmbH & Co. KG

  • ForgeFlow

  • Serpent CS

贡献者

维护者

本模块由OCA维护。

Odoo Community Association

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并促进其广泛使用。

本模块是GitHub上OCA/server-tools项目的一部分。

欢迎您贡献。要了解如何贡献,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。

源代码分发

此版本没有提供源代码分发文件。有关生成分发存档的教程,请参阅生成分发存档

构建分发

odoo13_addon_base_search_fuzzy-13.0.1.0.2-py3-none-any.whl (128.9 kB 查看哈希值)

上传时间 Python 3

由以下支持