跳转到主要内容

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

项目描述

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

此插件提供了创建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.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 模块的文档。

使用演示数据

如果您在一个 演示 数据库中,有一些示例数据可以帮助您测试该模块的功能。步骤如下

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

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

已知问题/路线图

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

  • 添加更好的 order by 处理

  • 从版本 16 开始,此模块将不再必要([改进] 索引处理 #83015

错误跟踪器

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

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

致谢

作者

  • 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

项目详情


下载文件

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

源分布

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

构建分布

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面