跳转到主要内容

使用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. 您可以通过设置 -> 数据库结构 -> 三角索引定义GINGiST索引。新条目的索引名称将自动创建。

使用

  1. 您可以为res.partnername字段创建索引。

  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 模块的相关文档。

已知问题/路线图

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

  • 添加更好的 order by 处理

错误跟踪器

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

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

致谢

作者

  • bloopark systems GmbH & Co. KG

  • Eficent

  • Serpent CS

贡献者

维护者

此模块由 OCA 维护。

Odoo Community Association

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

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

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

项目详情


下载文件

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

源代码分发

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

构建分发

由以下机构支持